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

文書の図形セットである図形範囲を表します。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.


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

Range (index) を使用します。_引数 index_には、図形の名前またはインデックス番号、または図形の名前またはインデックス番号を含む配列を**指定** します。このコレクションは、文書の図形の集合を表すShapeRangeコレクションを取得します。Use 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 = Worksheets(1) 
myDocument.Shapes.Range(Array(1, 3)).Fill.Patterned _ 

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

Range プロパティを使用して複数の図形を取得できますが、コレクションの単一のメンバーだけを取得する場合は、Item メソッドを使用する方が簡単です。Although you can use the Range property to return any number of shapes or slides, it's 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).

Set myDocument = Worksheets(1) 
Set myRange = myDocument.Shapes.Range(Array("Oval 4", _ 
 "Rectangle 5")) 
myRange.Fill.Patterned msoPatternHorizontalBrick

文書で選択されているすべてまたは一部の図形を取得するReturn all or some of the selected shapes on a document

選択範囲内のすべての図形を取得するには、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)

選択範囲_を使用します。ShapeRange(_ index) には__ 、選択範囲内の1つの図形を取得するのには、図形名またはインデックス番号を指定します。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.