Shapes.ItemU-Eigenschaft (Visio)
Gibt ein Objekt aus einer Auflistung zurück. Schreibgeschützt.
Syntax
Ausdruck. ItemU
( _NameUIDOrIndex_
)
expression Eine Variable, die ein Shapes-Objekt darstellt.
Parameter
Name | Erforderlich/Optional | Datentyp | Beschreibung |
---|---|---|---|
NameOrIndex | Erforderlich | Variant | Enthält den universellen Namen, die eindeutige ID oder den Index des abzurufenden Objekts. |
Rückgabewert
Form
Bemerkungen
Sie können ein Objekt in einer Addons-, Hyperlinks-, Layers-, Masters-, MasterShortcuts-, Pages-, Shapes- oder Styles-Auflistung abrufen, indem Sie den Namen des Objekts als Zeichenfolgenausdruck in einem Variant-Objekt übergeben.
Wenn Sie ein Shape-Objekt nach dem Namen abrufen, sucht die ItemU-Eigenschaft alle Shapes in der Shapes-Auflistung, die neben dem in der Auflistung enthaltenen Shape ein Zeichenblatt oder ein Master-Shape enthalten. Deshalb kann das von der ItemU-Eigenschaft zurückgegebene Shape-Objekt ein Shape sein, das nicht in der Shapes-Auflistung vorhanden ist.
Sie können auch die eindeutige ID-Zeichenfolge eines Master- oder Shape-Objekts an die ItemU-Eigenschaft übergeben. Beispiel:
objRet = vsoShapes.ItemU("{2287DC42-B167-11CE-88E9-0020AFDDD917}")
Wenn eine solche Zeichenfolge an die ItemU-Eigenschaft einer Shapes-Auflistung übergeben wird, werden alle in der Auflistung enthaltenen Shapes durchsucht. Shapes innerhalb der Gruppen-Shapes im enthaltenden Shape werden nicht durchsucht.
Um alle Shapes in der Auflistung plus die Shapes in Gruppen und das enthaltende Shape der Auflistung zu durchsuchen, stellen Sie der eindeutigen ID-Zeichenfolge ein Sternchen (*) voran. Beispiel:
objRet = vsoShapes.ItemU("*{2287DC42-B167-11CE-88E9-0020AFDDD917}")
Beispiel
Dieses VBA-Makro (Microsoft Visual Basic für Applikationen) veranschaulicht, wie Sie mit der ItemU-Eigenschaft der Pages-Auflistung die Shapes-Auflistung abrufen. Anschließend wird die ItemU-Eigenschaft der Shapes-Auflistung verwendet, um die universellen Namen aller Shapes auf Page-1 im Direktfenster zu drucken.
Stellen Sie zum Ausführen dieses Makros sicher, dass das aktive Dokument Shapes auf Zeichenblatt-1 aufweist.
Public Sub ItemU_Example()
Dim intCounter As Integer
Dim intShapeCount As Integer
Dim vsoShapes As Visio.Shapes
Set vsoShapes = ActiveDocument.Pages.ItemU(1).Shapes
Debug.Print "Shapes in Document: "; ActiveDocument.Name
Debug.Print " on Page: "; ActiveDocument.Pages.ItemU(1).Name
intShapeCount = vsoShapes.Count
If intShapeCount > 0 Then
For intCounter = 1 To intShapeCount
Debug.Print " "; vsoShapes.ItemU(intCounter).Name
Next intCounter
Else
Debug.Print " No Shapes On Page"
End If
End Sub
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.