Visio) (Application.QueueMarkerEvent 方法

會將 MarkerEvent 事件排入佇列,此事件是在所有其他已進入佇列的事件之後觸發。

語法

運算式QueueMarkerEvent (CoNtextString)

expression 代表 Application 物件的變數。

參數

名稱 必要/選用 資料類型 描述
CoNtextString 必要 字串 與觸發的事件一起傳遞的任意字串。

傳回值

Long

註解

QueueMarkerEvent 方法會結合 MarkerEvent 事件一起運作,好讓自動化用戶端將事件排給它自己的佇列。 QueueMarkerEvent 方法會讓應用程式在觸發其事件佇列中的所有事件之後,再觸發 MarkerEvent 事件。

QueueMarkerEvent 方法會傳回要觸發的 MarkerEvent 事件的序號,而傳給 QueueMarkerEvent 方法 (在合法情況下可以是空的) 的字串會傳遞給 MarkerEvent 事件處理常式。

用戶端程式可以使用序號或字串,將 QueueMarkerEvent 呼叫與 MarkerEvent 事件相互關聯。 如此一來,用戶端就能夠區分它所造成的事件,以及它未造成的事件。

範例

將此範例程式碼貼到 ThisDocument 物件中,然後執行 UseMarker 程式。 輸出會顯示在 Microsoft Visual Basic for Applications (VBA) [即時運算] 視窗中。

 
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 支援與意見反應