Page.Shapes Property

Visio Automation Reference

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

Version Information
 Version Added:  Visio 2.0

Syntax

expression.Shapes

expression   A variable that represents a Page object.

Return Value
Shapes

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.

Visual Basic for Applications
  
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

See Also