Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gibt ein ShapeRange-Objekt zurück, das eine Teilmenge von Shapes in der Shapes-Auflistung darstellt.
Syntax
Ausdruck verwendet werden. Bereich (Index)
expression Eine Variable, die ein Shapes-Objekt darstellt.
Parameter
| Name | Erforderlich/Optional | Datentyp | Beschreibung |
|---|---|---|---|
| Index | Erforderlich | Variant | Gibt mindestens ein Shape an, das in den Bereich aufgenommen werden soll. Kann eine ganze Zahl für die Indexnummer eines Shapes, eine Zeichenfolge für den Namen eines Shapes oder ein Array sein, das entweder Ganzzahlen oder Zeichenfolgen enthält. |
| Index | Erforderlich | Variant | |
| Name | Erforderlich/Optional | Datentyp | Beschreibung |
Rückgabewert
ShapeRange
Der Bereich der Shapes, die vom Parameter INDEX angegeben werden.
Hinweise
Hinweis
Die meisten Operationen, die Sie mit einem Shape-Objekt ausführen können, können Sie auch mit einem ShapeRange-Objekt durchführen, das eine einzige Form enthält. Einige Operationen führen zu einem Fehler, wenn sie für ein ShapeRange-Objekt durchgeführt werden, das mehrere Formen enthält.
Obwohl Sie die Range-Eigenschaft verwenden können, um eine beliebige Anzahl von Shapes in einem Bericht zurückzugeben, ist es einfacher, die Standardwert-Eigenschaft zu verwenden, um ein einzelnes Shape in der Auflistung zurückzugeben. Ist z. B. Shapes(1) einfacher als Shapes.Range(1).
Um ein Array von ganzen Zahlen oder Zeichenfolgen für den Index-Parameter anzugeben, können Sie die Matrix-Funktion verwenden. Mit dem folgenden Makro werden beispielsweise zwei Shapes ausgewählt, die durch ihren Namen angegeben werden.
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
Beispiel
Wenn Sie einen Bericht mit zwei Textfeldern erstellen, wie im vorherigen Code, wählt das folgende Makro die Textfelder nach Indexnummer aus und fügt dann jedem von ihnen einen Schatten hinzu.
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
Siehe auch
Shapes-ObjektShapeRange-Objekt
Support und Feedback
Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.