指定したシート上のすべての Shape オブジェクトのコレクション。
注釈
各 Shape オブジェクトは、オートシェイプ、フリーフォーム、OLE オブジェクト、画像など、描画レイヤーのオブジェクトを表します。
注:
文書上の図形のサブセットを操作する場合 (たとえば、文書上のオートシェイプのみに操作する、または選択した図形のみに何らかの操作を行う場合)、操作する図形を含む ShapeRange コレクションを構築する必要があります。
例
Worksheet オブジェクトの Shapes プロパティを使用して、Shapes コレクションを返します。 次の例では、 myDocument 上のすべての図形を選択します。
注:
シート上のすべての図形に対して同時に何らかの操作 (削除やプロパティの設定など) を行う場合は、すべての図形を選択し、その選択範囲の ShapeRange プロパティを使用してシート上のすべての図形を含む ShapeRange オブジェクトを作成し、適切なプロパティまたはメソッドを ShapeRange オブジェクトに適用します。
Set myDocument = Worksheets(1)
myDocument.Shapes.SelectAll
1 つの Shape オブジェクトを返すには、Shapes (index) を使用します。ここで、index は図形の名前またはインデックス番号です。 次の例では、 myDocument の図形 1 のプリセット シェーダーに塗りつぶしを設定します。
Set myDocument = Worksheets(1)
myDocument.Shapes(1).Fill.PresetGradient _
msoGradientHorizontal, 1, msoGradientBrass
Range (インデックス) を使用して、Shapes コレクションのサブセットを表す ShapeRange コレクションを返します。ここで、index は図形の名前またはインデックス番号、または図形名またはインデックス番号の配列です。 次の例では、 myDocument で図形 1 と 3 の塗りつぶしパターンを設定します。
Set myDocument = Worksheets(1)
myDocument.Shapes.Range(Array(1, 3)).Fill.Patterned _
msoPatternHorizontalBrick
シート上の ActiveX コントロールには 2 つの名前があります。コントロールを含む図形の名前 (シートを表示したときに [名前] ボックスに表示されます) と、コントロールのコード名 (プロパティ ウィンドウの [名前] の右側のセルに表示されます)。 最初にシートにコントロールを追加すると、図形名とコード名は一致します。 ただし、図形名またはコード名のどちらかを変更しても、もう一方は自動的に一致するように変更されません。
コントロールのイベント プロシージャの場合は、コントロールのコード名を使用します。 Shapes または OLEObjects コレクションからコントロールを取得する場合は、コード名ではなく、図形の名前を使用してコントロールを指定します。 たとえば、コード名および図形の名前が既定の CheckBox1 というチェック ボックスを追加したと仮定します。 コントロールの [プロパティ] ウィンドウの [(名前)] に「chkFinished」と入力してコード名を変更した場合は、イベント プロシージャ名には必ず chkFinished を使用しますが、Shapes または OLEObject コレクションからコントロールを取得する場合は、次のように CheckBox1 を使用する必要があります。
Private Sub chkFinished_Click()
ActiveSheet.OLEObjects("CheckBox1").Object.Value = 1
End Sub
メソッド
- AddCallout
- AddChart2
- AddConnector
- AddCurve
- AddFormControl
- AddLabel
- AddLine
- AddOLEObject
- AddPicture
- AddPicture2
- AddPolyline
- AddShape
- AddSmartArt
- AddTextbox
- AddTextEffect
- Add3DModel
- BuildFreeform
- アイテム
- SelectAll
プロパティ
関連項目
サポートとフィードバック
Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。