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 der Formen in der Shapes-Auflistung darstellt.
Syntax
Ausdruck. Bereich (Index)
expression Eine Variable, die ein Shapes-Objekt darstellt.
Parameter
| Name | Erforderlich/Optional | Datentyp | Beschreibung |
|---|---|---|---|
| Index | Erforderlich | Variant | Gibt eine oder mehrere Formen an, die in den Bereich eingeschlossen werden sollen. Kann eine ganze Zahl für die Indexnummer einer Form, eine Zeichenfolge für den Namen einer Form oder ein Array sein, das entweder ganze Zahlen oder Zeichenfolgen enthält. |
| Index | Erforderlich | Variant | |
| Name | Erforderlich/Optional | Datentyp | Beschreibung |
Rückgabewert
ShapeRange
Der Bereich von Formen, die durch den Index-Parameter 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 Formen in einem Bericht zurückzugeben, ist es einfacher, die Value-Standardeigenschaft zu verwenden, um ein einzelnes Shape in der Auflistung zurückzugeben. ist beispielsweise 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 Array-Funktion verwenden. Mit dem folgenden Makro werden z. B. zwei Shapes ausgewählt, die durch den 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 erstellen, der zwei Textfelder wie im vorherigen Code enthält, markiert das folgende Makro die Textfelder nach Indexnummer und fügt dann jedem ein 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.