Master.ObjectType property (Visio)

Returns an object's type. Read-only.



expression A variable that represents a Master object.

Return value



Constants representing object types are prefixed with visObjType and are declared by the Visio type library in VisObjectTypes.


This example shows how to use the ObjectType property of a page to iterate recursively through a group and identify the top shape.

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 
 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 
 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 
 GetTopShape = GetTopShape(vsoShapeParent) 
 End If 
 End If 
 Debug.Print vsoShapeParent.Name 
End Function

Support and feedback

Have questions or feedback about Office VBA or this documentation? Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.