Application.DocumentSaved Event (Visio)
Occurs after a document is saved.
Version Information
Version Added: Visio 4.1
Syntax
Private Sub expression _DocumentSaved(ByVal doc As [IVDOCUMENT])
expression A variable that represents an Application object.
Parameters
Name |
Required/Optional |
Data Type |
Description |
---|---|---|---|
doc |
Required |
[IVDOCUMENT] |
The document that was saved. |
Remarks
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.
Example
This example shows how to create a class module to handle events fired by a source object in Microsoft Visio, for example, the Document object. The module consists of the function VisEventProc, which uses a Select Case block to check for three events: DocumentSaved, PageAdded, and ShapesDeleted. Other events fall under the default case (Case Else). Each Case block constructs a string (strMessage) that contains the name and event code of the event that fired. Finally, the function displays the string in the Immediate window.
Copy this sample code into a new class module in VBA or Visual Basic, naming the module clsEventSink. You can then use an event-sink module to create an instance of the clsEventSink class and Event objects that send notifications of event firings to the class instance. To see how to create an event-sink module, refer to the example for the AddAdvise method.
Implements Visio.IVisEventProc
'Declare visEvtAdd as a 2-byte value
'to avoid a run-time overflow error
Private Const visEvtAdd% = &H8000
Private Function IVisEventProc_VisEventProc( _
ByVal nEventCode As Integer, _
ByVal pSourceObj As Object, _
ByVal nEventID As Long, _
ByVal nEventSeqNum As Long, _
ByVal pSubjectObj As Object, _
ByVal vMoreInfo As Variant) As Variant
Dim strMessage As String
'Find out which event fired
Select Case nEventCode
Case visEvtCodeDocSave
strMessage = "DocumentSaved (" & nEventCode & ")"
Case (visEvtPage + visEvtAdd)
strMessage = "PageAdded (" & nEventCode & ")"
Case visEvtCodeShapeDelete
strMessage = "ShapesDeleted(" & nEventCode & ")"
Case Else
strMessage = "Other (" & nEventCode & ")"
End Select
'Display the event name and the event code
Debug.Print strMessage
End Function