Selection.ObjectType-Eigenschaft (Visio)
Gibt einen Objekttyp zurück. Schreibgeschützt.
Ausdruck. ObjectType
Ausdruck Eine Variable, die ein Selection-Objekt darstellt.
Ganze Zahl
Konstanten, die Objekttypen darstellen, erhalten das Präfix visObjType und werden von der Visio-Typbibliothek in VisObjectTypes deklariert.
Dieses Beispiel veranschaulicht, wie mit der ObjectType-Eigenschaft eines Zeichenblatts eine Gruppe rekursiv durchlaufen und das oberste Shape identifiziert wird.
Public Sub ObjectType_Example()
Dim vsoShape As Visio.Shape
Dim vsoShapes As Visio.Shapes
Dim vsoPage As Visio.Page
Application.ActiveWindow.Page.Drop Application.Documents.Item("BASIC_U.VSS").Masters.ItemU("Pentagon"), 3#, 8.5
Application.ActiveWindow.Page.Drop Application.Documents.Item("BASIC_U.VSS").Masters.ItemU("Ellipse"), 3#, 7.625
Application.ActiveWindow.Page.Drop Application.Documents.Item("BASIC_U.VSS").Masters.ItemU("Rounded rectangle"), 3#, 7#
Application.ActiveWindow.Page.Drop Application.Documents.Item("BASIC_U.VSS").Masters.ItemU("Circle"), 3#, 6.25
Application.ActiveWindow.SelectAll
ActiveWindow.DeselectAll
ActiveWindow.Select Application.ActiveWindow.Page.Shapes.ItemU("Circle"), visSelect
ActiveWindow.Select Application.ActiveWindow.Page.Shapes.ItemU("Rounded rectangle"), visSelect
ActiveWindow.Select Application.ActiveWindow.Page.Shapes.ItemU("Ellipse"), visSelect
ActiveWindow.Select Application.ActiveWindow.Page.Shapes.ItemU("Pentagon"), visSelect
ActiveWindow.Selection.Group
Set vsoPage = ActivePage
Set vsoShapes = vsoPage.Shapes
Set vsoShape = vsoShapes.Item(2)
Call GetTopShape(vsoShape)
End Sub
Function GetTopShape(vsoShape As Visio.Shape) As String
Dim vsoShapeParent As Object
Dim vsoShapeParentParent As Object
Set vsoShapeParent = vsoShape.Parent
If vsoShapeParent.ObjectType = visObjTypeShape Then
Set vsoShapeParentParent = vsoShapeParent.Parent
'If vsoShapeParent's parent isn't a page, keep going up.
If vsoShapeParentParent.ObjectType = visObjTypePage Then
GetTopShape = vsoShapeParent.Name
Else
GetTopShape = GetTopShape(vsoShapeParent)
End If
End If
Debug.Print vsoShapeParent.Name
End Function
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.