次の方法で共有


InvisibleApp.DocumentSaved イベント (Visio)

図面を保存した後に発生します。

構文

DocumentSaved (doc)

InvisibleApp オブジェクトを表す変数。

パラメーター

名前 必須 / オプション データ型 説明
doc 必須 [IVDOCUMENT] 保存された図面です。

注釈

Microsoft Visual Basic または Visual Basic for Applications (VBA) を使用している場合、このトピックの構文を使用して、イベントを一般的な方法で効率的に処理できます。

独自の Event オブジェクトを作成する場合は、Add メソッドまたは AddAdvise メソッドを使用します。

アドオンを実行する Event オブジェクトを作成するには、EventList コレクションに対して Add メソッドを使用します。

通知を受け取る Event オブジェクトを作成するには、AddAdvise メソッドを使用します。

作成するイベントのイベント コードについては、「イベント コード」を参照してください。

この例では、Microsoft Visio のソース オブジェクト ( Document オブジェクトなど) によって発生したイベントを処理するクラス モジュールを作成する方法を示します。 このモジュールは、関数 VisEventProc で構成され、DocumentSavedPageAdded、さらに ShapesDeleted の 3 つのイベントをチェックする Select Case ブロックを使用します。 他のイベントは、既定のケース (Case Else) に分類されます。 各 Case ブロックは、発生するイベントの名前とイベント コードを含む文字列 (strMessage) を構築します。 最後に、関数が現在のウィンドウにその文字列を表示します。

このサンプル コードを VBA または Visual Basic の新しいクラス モジュールにコピーし、モジュール clsEventSink という名前を付けます。 その後、イベント シンク モジュールを使用して、クラス インスタンスにイベント発生の通知を送信する clsEventSink クラスと Event オブジェクトのインスタンスを作成できます。 イベント シンク モジュールを作成する方法については、 AddAdvise メソッドの例を参照してください。

 
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

サポートとフィードバック

Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。