Shapes コレクション内の図形のサブセットを表す ShapeRange オブジェクトを返します。
構文
式。範囲 (インデックス)
表現Shapes オブジェクトを表す変数です。
パラメーター
| 名前 | 必須 / オプション | データ型 | 説明 |
|---|---|---|---|
| Index | 必須 | バリアント型 | 範囲に含める 1 つ以上の図形を指定します。 指定できる値は、図形のインデックス番号として整数、図形の名前としては文字列、または整数または文字列を含む配列です。 |
| Index | 必須 | バリアント型 | |
| 名前 | 必須 / オプション | データ型 | 説明 |
戻り値
ShapeRange
Index パラメーターで指定する図形の範囲。
注釈
注:
[!メモ] Shape オブジェクトで実行できるほとんどの操作行うことも 1 つの図形を含む ShapeRange オブジェクトにします。 いくつかの操作では、複数の図形を含む ShapeRange オブジェクトに対して実行するとエラーを生成します。
レポートで任意の数の図形を返すには Range プロパティを使用できますが、コレクション内の 1 つの図形を返すには DefaultValue プロパティを使用する方が簡単です。 たとえば、 Shapes(1) より Shapes.Range(1) と記述すると効率的です。
Index パラメーターに整数または文字列の配列を指定するには、Array 関数を使用できます。 たとえば、次のマクロは、名前で指定された 2 つの図形を選択します。
Sub SelectShapeRange()
Dim arShapes() As Variant
Dim oShapeRange As ShapeRange
arShapes = Array("TextBox 4", "TextBox 5")
Set oShapeRange = ActiveProject.Reports("Table Tests").Shapes.Range(arShapes)
oShapeRange.Select
End Sub
例
先のコードのように 2 つのテキスト ボックスを含むレポートを作成する場合、次のマクロによって、インデックス番号でテキスト ボックスが選択され、それぞれに影が追加されます。
Sub AddShadow2Shapes()
Dim oReports As Reports
Dim oReport As Report
Dim oShapeRange As ShapeRange
Dim reportName As String
Dim arShapes() As Variant
arShapes = Array(3, 4)
reportName = "Table Tests"
Set oReports = ActiveProject.Reports
If (oReports.IsPresent(reportName)) Then
' Make the report the active view.
oReports(reportName).Apply
Set oReport = oReports(reportName)
Set oShapeRange = oReport.Shapes.Range(arShapes)
oShapeRange.Select
oShapeRange.Shadow.Type = msoShadow1
End If
End Sub
関連項目
サポートとフィードバック
Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。