Application.QueueMarkerEvent メソッド (Visio)

他のすべてのキューに登録されたイベントの後に発生する MarkerEvent イベントをキューに入れます。

構文

QueueMarkerEvent (ContextString)

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

パラメーター

名前 必須 / オプション データ型 説明
ContextString 必須 String 発生するイベントと共に渡される任意の文字列です。

戻り値

Long

注釈

QueueMarkerEvent メソッドは、MarkerEvent イベントと組み合わせて動作し、Automation クライアントがイベントをそれ自体にキューに入れるようにします。 QueueMarkerEvent メソッドを使用すると、イベント キュー内のすべてのイベントが発生した後に、アプリケーションで MarkerEvent イベントが発生します。

QueueMarkerEvent メソッドは、発生する MarkerEvent イベントのシーケンス番号を返し、QueueMarkerEvent メソッドに渡された文字列 (正式には空の文字列) が MarkerEvent イベント ハンドラーに渡されます。

クライアント プログラムはこのシーケンス番号か文字列のいずれかを使用して、QueueMarkerEvent の呼び出しと MarkerEvent イベントを相互に関連付けることができます。 このようにして、クライアントは発生したイベントと発生しなかったイベントを区別できます。

このコード例を ThisDocument オブジェクトに貼り付けて、 UseMarker プロシージャを実行します。 出力結果は、VBA (Microsoft Visual Basic for Applications) のイミディエイト ウィンドウに表示されます。

 
Dim WithEvents vsoApplication As Visio.Application 
 
Private Sub vsoApplication_MarkerEvent(ByVal app As Visio.IVApplication, _ 
 ByVal SequenceNum As Long, ByVal ContextString As String) 
 
 Debug.Print "Marker: " & app.EventInfo(0) 
 
End Sub 
 
Private Sub vsoApplication_ShapeAdded(ByVal Shape As Visio.IVShape) 
 
 Debug.Print " ShapeAdded: " & Shape.Name 
 
End Sub 
 
Public Sub UseMarker() 
 
 Set vsoApplication = ThisDocument.Application 
 
 'Marker events can be used to comment a segment 
 'of events in the queue. 
 vsoApplication.QueueMarkerEvent "I am starting..." 
 ActivePage.DrawRectangle 0, 0, 3, 3 
 vsoApplication.QueueMarkerEvent "I am finished..." 
 
End Sub

次の内容が VBA のイミディエイト ウィンドウに出力されます。

Marker: I am starting...

ShapeAdded: Sheet.1

Marker: I am finished...

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

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