Shape オブジェクト (Excel)Shape object (Excel)

オートシェイプ、フリーフォーム、OLE オブジェクト、図などの描画オブジェクトを表します。Represents an object in the drawing layer, such as an AutoShape, freeform, OLE object, or picture.


Shape オブジェクトは、 Shapes コレクションのメンバーです。The Shape object is a member of the Shapes collection. Shapes コレクションには、ブックのすべての図形が含まれます。The Shapes collection contains all the shapes in a workbook.


図形を表す3つのオブジェクトがあり**** ます。 shapes コレクションは、ブックのすべての図形を表します。shaperange コレクションは、ブック内の指定された図形のサブセットを表します (たとえば、 shaperangeオブジェクトは、ブック内の1番目と4番目の図形を表すことができます)。または、ブック内で選択されているすべての図形を表すことができます。ワークシートの1つの図形を表すshapeオブジェクトを指定します。There are three objects that represent shapes: the Shapes collection, which represents all the shapes on a workbook; the ShapeRange collection, which represents a specified subset of the shapes on a workbook (for example, a ShapeRange object could represent shapes one and four in the workbook, or it could represent all the selected shapes in the workbook); and the Shape object, which represents a single shape on a worksheet. 複数の図形を同時に操作したり、選択範囲内の図形を使ったりするには、 ShapeRangeコレクションを使用します。If you want to work with several shapes at the same time or with shapes within the selection, use a ShapeRange collection.

戻り値To return... 使用する...Use...
コネクタによって接続された図形の1つを表すShapeオブジェクトA Shape object that represents one of the shapes attached by a connector コネクタの**beginconnectedshape** または**endconnectedshape** プロパティを指定します。The BeginConnectedShape or EndConnectedShape property of the ConnectorFormat object.
新しく作成したフリーフォームA newly created freeform 新しい**** フリーフォームのジオメトリを定義するには、 AddNodes メソッドを使用します。フリーフォームを作成し、それを表すshapeオブジェクトを取得するのには、 converttoshape メソッドを使用します。The BuildFreeform and AddNodes methods to define the geometry of a new freeform, and use the ConvertToShape method to create the freeform and return the Shape object that represents it.
グループ化された図形の中の1つの図形を表すshapeオブジェクトA Shape object that represents a single shape in a grouped shape Groupitems(index)、_引数 index_には、グループ内の図形名またはインデックス番号を指定します。GroupItems (index), where index is the shape name or the index number within the group.
新しく形成された図形グループA newly formed group of shapes 図形範囲を**** グループ化し、新しく形成されたグループを表す1つのShapeオブジェクトを取得するShapeRangeオブジェクトの**グループ** または再グループメソッド。The Group or Regroup method of the ShapeRange object to group a range of shapes and return a single Shape object that represents the newly formed group. グループの作成後は、他の図形を操作するのと同じ方法でグループを操作できます。After a group has been formed, you can work with the group the same way that you work with any other shape.
既存の図形を表すshapeオブジェクトA Shape object that represents an existing shape 図形(index)、_引数 index_には、図形の名前またはインデックス番号を指定します。Shapes (index), where index is the shape name or the index number.
選択範囲内の図形を表すshapeオブジェクトA Shape object that represents a shape within the selection _選択_します。ShapeRange(index)、_引数 index_には、図形の名前またはインデックス番号を指定します。Selection.ShapeRange (index), where index is the shape name or the index number.


次の使用例は、myDocument の Rectangle 1 という名前の図形 1 を水平に反転します。The following example horizontally flips shape one and the shape named Rectangle 1 on myDocument.

Set myDocument = Worksheets(1) 
myDocument.Shapes(1).Flip msoFlipHorizontal 
myDocument.Shapes("Rectangle 1").Flip msoFlipHorizontal

Shapes コレクションに図形を追加すると、各図形には既定の名前が割り当てられます。Each shape is assigned a default name when you add it to the Shapes collection. 図形に任意の名前を付けるには、Name プロパティを使用します。To give the shape a more meaningful name, use the Name property. 次の使用例は、 _myDocument_に四角形を追加し、それに赤い正方形を付けて、その前の色と線のスタイルを設定します。The following example adds a rectangle to myDocument, gives it the name Red Square, and then sets its foreground color and line style.

Set myDocument = Worksheets(1) 
With myDocument.Shapes.AddShape(msoShapeRectangle, _ 
 144, 144, 72, 72) 
 .Name = "Red Square" 
 .Fill.ForeColor.RGB = RGB(255, 0, 0) 
 .Line.DashStyle = msoLineDashDot 
End With

次の使用例は、選択範囲内に少なくとも 1 つの図形があると仮定して、アクティブ ウィンドウの選択範囲内にある最初の図形に塗りつぶしを設定します。The following example sets the fill for the first shape in the selection in the active window, assuming that there's at least one shape in the selection.

ActiveWindow.Selection.ShapeRange(1).Fill.ForeColor.RGB = _ 
 RGB(255, 0, 0)



関連項目See also

サポートとフィードバックSupport and feedback

Office VBA またはこの説明書に関するご質問やフィードバックがありますか?Have questions or feedback about Office VBA or this documentation? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.