Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Returns the Shapes collection for a page, master, or group. Read-only.
Syntax
expression.Shapes
expression A variable that represents a Master 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.
 
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
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.