EventList.Add 方法 (Visio)

添加 一个 Event 对象,该对象在事件发生时运行加载项。 Event 对象将添加到要接收其事件的源对象的 EventList 集合中。

语法

表达式添加 (EventCodeActionTargetTargetArgs)

表达 一个代表 EventList 对象的变量。

参数

名称 必需/可选 数据类型 说明
EventCode 必需 Integer 要捕获的事件。
操作 必需 Integer 要执行的操作。 必须是 visActCodeRunAddon,即 Visio 类型库中的 VisEventCodes 的一个成员。
目标 必需 字符串 加载项的名称。
TargetArgs 必需 字符串 传递给 Event 对象用以设置其 TargetArgs 属性的字符串。

返回值

Event

备注

EventList 集合中包含 Event 对象的源对象建立要报告事件的范围。 为源对象和对象模型层次结构中较低的对象报告事件。 例如,要在打开特定文档时运行加载项,请将 DocumentOpened 事件的 Event 对象添加到该文档的 EventList 集合。 要在应用程序实例中打开任意文档时运行加载项,请将 Event 对象添加到 Application 对象的 EventList 集合中。

创建 Event 对象是处理 C++ 或其他非 Microsoft Visual Basic 解决方案中的事件的一种常用方法。 使用 Visual Basic WithEvents 关键字处理事件时,源对象的事件集中的所有事件都会触发,但在创建 Event 对象时,程序只会收到所选事件的通知。 根据您的解决方案,这可能会提高性能。

运行加载项的 Event 对象可以是永久性的:即它们可与 Visio 文档一起存储。 要具有永久性,Event 对象的 PersistentPersistable 属性必须都为 True

传递给 Add 方法的参数设置 Event 对象的 EventAction (visActCodeRunAddon)、TargetTargetArgs 属性的初始值。

事件代码由 Visio 类型库声明并且有前缀 visEvt。 事件代码通常为常量的组合。 例如, visEvtAdd + visEvtDocDocumentAdded 事件的事件代码。 若要查找要创建的事件的事件代码,请参阅事件代码

要创建建议关于事件的调用方的接收对象的 Event 对象,请参阅 AddAdvise 方法。

示例

以下示例显示如何将运行加载项的 Event 对象添加到源对象的 EventList 集合(在本例中是您要接收其事件的 Document 对象)。

运行此宏之前,请将 路径 \ 文件名 替换为 Visio 项目中可执行加载项 (EXE) 的有效路径和文件名。 该加载项应该不使用任何参数。

Public Sub AddEvent_Example() 
 
 Dim vsoAddons As Visio.Addons 
 Dim vsoEventList As Visio.EventList 
 Dim vsoDocument As Visio.Document 
 Dim vsoEvent As Visio.Event 
 Dim vsoAddon As Visio.Addon 
 
 'Add a document based on the Basic Diagram template. 
 Set vsoDocument = Documents.Add("Basic Diagram.vst") 
 
 'Add an add-on to the Addons collection. 
 Set vsoAddons = Visio.Addons 
 Set vsoAddon = vsoAddons.Add("path \filename ") 
 
 'Add a BeforeDeleteSelection event to the EventList collection 
 'of the Document object. The event will start your add-on, 
 'which takes no arguments. 
 Set vsoEventList = vsoDocument.EventList 
 Set vsoEvent = vsoEventList.Add(visEvtCodeBefSelDel, _ 
 visActCodeRunAddon, _ 
 "path \filename ", "") 
 
End Sub

支持和反馈

有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。