Share via


Shapes Property [Visio 2003 SDK Documentation]

Returns the Shapes collection for a page, master, or group.

objsRet = object**.Shapes**

objsRet     The Shapes collection of the object.

object     Required. An expression that returns a Page, Master, or Shape object that owns the collection.

Version added

2.0

Example

This Microsoft Visual Basic for Applications (VBA) macro shows how to use the Shapes property to get the Shapes collection. It prints the names of all shapes on Page1 in the Immediate window.

To run this macro, make sure the active document has shapes on Page1.

Public Sub Shapes_Example() 

    Dim intCounter As Integer
    Dim intShapeCount As Integer
    Dim vsoShapes As Visio.Shapes 

    Set vsoShapes = ActiveDocument.Pages.Item(1).Shapes 

    Debug.Print "Shapes in document: "; ActiveDocument.Name
    Debug.Print "On page: "; ActiveDocument.Pages.Item(1).Name 

    intShapeCount = vsoShapes.Count 

    If intShapeCount > 0 Then
        For intCounter = 1 To intShapeCount 
            Debug.Print " "; vsoShapes.Item(intCounter).Name 
        Next intCounter
 
    Else
        Debug.Print "No Shapes On Page" 
    End If  

End Sub

Applies to | Master object | Page object | Shape object

See Also | Shapes collection