Application.QueueMarkerEvent 方法 (Visio)

在所有其他排队事件之后触发的 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 支持和反馈,获取有关如何接收支持和提供反馈的指南。