Documents.ShapeChanged Event (Visio)
Occurs after a property of a shape that is not stored in a cell is changed in a document.
To determine which properties have changed when ShapeChanged fires, use the EventInfo property. The string returned by the EventInfo property contains a list of substrings that identify the properties that changed.
Changes to the following shape properties cause the ShapeChanged event to fire:
Name (the EventInfo property contains "/name")
Data1 (the EventInfo property contains "/data1")
Data2 (the EventInfo property contains "/data2")
Data3 (the EventInfo property contains "/data3")
UniqueID (the EventInfo property contains "/uniqueid")
If you're using Microsoft Visual Basic or Visual Basic for Applications (VBA), the syntax in this topic describes a common, efficient way to handle events.
If you want to create your own Event objects, use the Add or AddAdvise method. To create an Event object that runs an add-on, use the Add method as it applies to the EventList collection. To create an Event object that receives notification, use the AddAdvise method. To find an event code for the event you want to create, see Event codes.
If you are handling this event from a program that receives a notification over a connection that was created by using AddAdvise, the varMoreInfo argument to VisEventProc contains the string: "/doc=1 /page=1 /shape=Sheet.3"
You can use VBA WithEvents variables to sink the ShapeChanged event.
For performance considerations, the Document object's event set does not include the ShapeChanged event. To sink the ShapeChanged event from a Document object (and from the ThisDocument object in a VBA project), you must use the AddAdvise method.