Propiedad Shapes.ObjectType (Visio)
Devuelve el tipo de un objeto. Solo lectura.
Sintaxis
expresión. Objecttype
expresión Variable que representa un objeto Shapes.
Valor devuelto
Entero
Comentarios
Las constantes que representan los tipos de objetos van precedidas de visObjType y se declaran en la biblioteca de tipos de Visio en VisObjectTypes.
Ejemplo:
En este ejemplo se muestra cómo usar la propiedad ObjectType de una página para recorrer recursivamente en iteración un grupo e identificar la forma superior.
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
Soporte técnico y comentarios
¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.