次の方法で共有


Shapes.Range メソッド (Word)

範囲内の図形を表す ShapeRange オブジェクトを返します。

構文

範囲 (インデックス)

expression 必須です。 Shapes オブジェクトを表す変数。

パラメーター

名前 必須 / オプション データ型 説明
Index 必須 バリアント型 (Variant) 指定した範囲に含まれる図形を指定します。 Shapes コレクション、図形の名前を指定する文字列または整数または文字列を含む配列内の図形のインデックス番号を指定する整数であることができます。

戻り値

ShapeRange

注釈

Shape オブジェクトは、常にアンカーがある範囲と同じページに表示されます。

注:

[!メモ] Shape オブジェクトで実行できるほとんどの操作行うことも 1 つの図形を含む ShapeRange オブジェクトにします。 いくつかの操作では、複数の図形を含む ShapeRange オブジェクトに対して実行するとエラーを生成します。

次の使用例は、作業中の文書で、最初の図形の塗りつぶしの前景色を紫に設定します。

Sub ShRange() 
 With ActiveDocument.Shapes.Range(1).Fill 
 .ForeColor.RGB = RGB(255, 0, 255) 
 .Visible = msoTrue 
 End With 
End Sub

次の使用例は、現在の文書内の図形に影を適用します。

Sub ShpRange2(strShpName As String) 
 ActiveDocument.Shapes.Range(strShpName).Shadow.Type = msoShadow6 
End Sub

前のサブルーチンを呼び出すには、次のコードを標準モジュールに入力します。

Sub CallShpRange2() 
 Dim shpArrow As Shape 
 Dim strName As String 
 
 Set shpArrow = ActiveDocument.Shapes.AddShape(Type:=msoShapeLeftArrow, _ 
 Left:=200, Top:=400, Width:=50, Height:=75) 
 
 shpArrow.Name = "myShape" 
 strName = shpArrow.Name 
 ShpRange2 strShpName:=strName 
End Sub

次の使用例は、作業中の文書の 1 番目と 3 番目の図形を選択します。

Sub SelectShapeRange() 
 ActiveDocument.Shapes.Range(Array(1, 3)).Select 
End Sub

次の使用例は、現在の文書内にある最初の図形から図形を選択して、削除します。 この使用例では、最初の図形はキャンバス図形であることを前提としています。

Sub CanvasShapeRange() 
 Dim rngCanvasShapes As Range 
 Set rngCanvasShapes = ActiveDocument.Shapes(1).CanvasItems.Range(1) 
 rngCanvasShapes.Select 
 rngCanvasShapes.Delete 
End Sub

関連項目

Shapes コレクション オブジェクト

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

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