ShapeRange オブジェクト (PowerPoint)ShapeRange object (PowerPoint)

スライド上の図形の集合である図形範囲を表します。Represents a shape range, which is a set of shapes on a document. 図形範囲には、1 つの図形から、スライドのすべての図形を含めることができます。A shape range can contain as few as a single shape or as many as all the shapes on the document.


図面上のすべての図形、または選択範囲内のすべての図形から選択した図形を含めることにより、図形範囲を作成できます。You can include whichever shapes you want—chosen from among all the shapes on the document or all the shapes in the selection—to construct a shape range. たとえば、スライドの最初の 3 つの図形、スライドから選択したすべての図形、またはスライドのすべてのフリーフォームを含む ShapeRange コレクションを作成できます。For example, you could construct a ShapeRange collection that contains the first three shapes on a document, all the selected shapes on a document, or all the freeforms on a document.

1つの図形または同時に複数の図形を操作する方法の概要については、「図形を操作する (描画オブジェクト)」を参照してください。For an overview of how to work with either a single shape or with more than one shape at a time, see Work with shapes (drawing objects).

次の使用例は、次の方法を示しています。The following examples describe how to:

  • 名前またはインデックス番号で指定した一連の図形を取得します。Return a set of shapes that you specify by name or index number.

  • スライドで選択したすべての、またはいくつかの図形を取得するReturn all or some of the selected shapes on a document.


文書の一連の図形を表すShapeRangeコレクションを取得するには、shapes (index) を使用します。 _引数 index_には、図形または図形の名前またはインデックス番号を含む配列を指定します。Use Shapes.Range (index), where index is the name or index number of the shape or an array that contains either names or index numbers of shapes, to return a ShapeRange collection that represents a set of shapes on a document. Array 関数を使用して、名前またはインデックス番号の配列を作成できます。You can use the Array function to construct an array of names or index numbers. 次の使用例は、 _myDocument_の1番目と3番目の図形に塗りつぶしのパターンを設定します。The following example sets the fill pattern for shapes one and three on myDocument.

Set myDocument = ActivePresentation.Slides(1)

myDocument.Shapes.Range(Array(1, 3)).Fill _

    .Patterned msoPatternHorizontalBrick

次の使用例は、myDocument の Oval 4 と Rectangle 5 という名前の図形に塗りつぶしのパターンを設定します。The following example sets the fill pattern for the shapes named Oval 4 and Rectangle 5 on myDocument.

Set myDocument = ActivePresentation.Slides(1)

Set myRange = myDocument.Shapes _

    .Range(Array("Oval 4", "Rectangle 5"))

myRange.Fill.Patterned msoPatternHorizontalBrick

Range メソッドを使用して任意の数の図形やスライドを返すことができますが、コレクションのメンバーを1つだけ取得する場合は、 Item メソッドを使用する方が簡単です。Although you can use the Range method to return any number of shapes or slides, it is simpler to use the Item method if you want to return only a single member of the collection. たとえば、 Shapes(1) より Shapes.Range(1) と記述すると効率的です。For example, Shapes(1) is simpler than Shapes.Range(1).

選択範囲内のすべての図形を取得するのにには、 selectionオブジェクトの**ShapeRange** プロパティを使用します。Use the ShapeRange property of the Selection object to return all the shapes in the selection. 次の使用例は、選択範囲内に少なくとも 1 つの図形があると仮定して、ウィンドウ 1 のすべての図形の前景色に塗りつぶしを設定します。The following example sets the fill foreground color for all the shapes in the selection in window one, assuming that there's at least one shape in the selection.

Windows(1).Selection.ShapeRange.Fill.ForeColor _

    .RGB = RGB(255, 0, 255)

選択範囲内の1つの図形を取得するには、ShapeRange (index) を使用します。 _引数 index_には、図形名またはインデックス番号を指定します。Use Selection.ShapeRange (index), where index is the shape name or the index number, to return a single shape within the selection. 次の使用例は、選択範囲内に少なくとも2つの図形があると仮定して、ウィンドウ1の選択された図形のコレクションにある図形2の前景色に塗りつぶしを設定します。The following example sets the fill foreground color for shape two in the collection of selected shapes in window one, assuming that there are at least two shapes in the selection.

Windows(1).Selection.ShapeRange(2).Fill.ForeColor _

    .RGB = RGB(255, 0, 255)



関連項目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.