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