Page.BeforeShapeDelete Event (Visio)
Occurs before a shape is deleted.
A Shape object can serve as the source object for the BeforeShapeDelete event if the shape's Type property is visTypeGroup(2) or visTypePage(1).
The BeforeSelectionDelete and BeforeShapeDelete events are similar in that they both fire before shape(s) are deleted. They differ in how they behave when a single operation deletes several shapes. Suppose a Cut operation deletes three shapes. The BeforeShapeDelete event fires three times and acts on each of the three objects. The BeforeSelectionDelete event fires once, and it acts on a Selection object in which the three shapes that you want to delete are selected.
If you are 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.
You can use the VBA WithEvents keyword to sink the BeforeShapeDelete event.
For performance considerations, the Document object's event set does not include the BeforeShapeDelete event. To sink the BeforeShapeDelete event from a Document object (and from the ThisDocument object in a VBA project), you must use the AddAdvise method.