Shape オブジェクト (Excel)

オートシェイプ、フリーフォーム、OLE オブジェクト、図などの描画オブジェクトを表します。

注釈

Shape オブジェクトは、 Shapes コレクションのメンバーです。 Shapes コレクションには、ブックのすべての図形が含まれます。

注:

図形を表す 3 つのオブジェクトがあります。 Shapes コレクションは、ブック上のすべての図形を表します。 ShapeRange コレクション。これは、ブック上の図形の指定されたサブセットを表します (たとえば、 ShapeRange オブジェクトは、ブック内の図形 1 と 4 を表したり、ブック内で選択したすべての図形を表したりできます)。と、ワークシート上の 1 つの図形を表す Shape オブジェクト。 複数の図形を同時に操作する場合、または選択範囲内の図形を操作する場合は、 ShapeRange コレクションを使用します。

を返すには... 使用。。。
コネクタによってアタッチされた図形のいずれかを表す Shape オブジェクト ConnectorFormat オブジェクトの BeginConnectedShape または EndConnectedShape プロパティ。
新しく作成されたフリーフォーム BuildFreeform メソッドと AddNodes メソッドを使用して新しいフリーフォームのジオメトリを定義し、ConvertToShape メソッドを使用してフリーフォームを作成し、それを表す Shape オブジェクトを返します。
グループ化された図形内の 1 つの図形を表す Shape オブジェクト GroupItems (index)、 index は、グループ内の図形名またはインデックス番号です。
新しく形成された図形のグループ 図形の範囲をグループ化し、新しく形成されたグループを表す単一の Shape オブジェクトを返す ShapeRange オブジェクトの Group メソッドまたは Regroup メソッド。 グループが形成されたら、他の図形と同じ方法でグループを操作できます。
既存の図形を表す Shape オブジェクト 図形 (インデックス)、 インデックス は図形名またはインデックス番号です。
選択範囲内の図形を表す Shape オブジェクト 選択ShapeRange (index)、 index は図形名またはインデックス番号です。

次の使用例は、myDocument の Rectangle 1 という名前の図形 1 を水平に反転します。

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

Shapes コレクションに図形を追加すると、各図形には既定の名前が割り当てられます。 図形に任意の名前を付けるには、Name プロパティを使用します。 次の例では、 myDocument に四角形を追加し、赤い四角形という名前を付け、前景色と線のスタイルを設定します。

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 つの図形があると仮定して、アクティブ ウィンドウの選択範囲内にある最初の図形に塗りつぶしを設定します。

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

メソッド

プロパティ

関連項目

サポートとフィードバック

Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。