Visio) (EventList.Add 方法

新增 Event 物件,在事件發生時執行附加元件。 Event 物件會新增至您要接收其事件之來源物件的 EventList 集合。

語法

運算式。新增 (EventCode、Action、Target、TargetArgs)

運算式 代表 EventList 物件的變數。

參數

名稱 必要/選用 資料類型 描述
EventCode 必要 整數 要擷取的事件。
動作 必要 整數 要執行的動作。 必須是 Visio 類型程式庫中 VisEventCodes 的成員 visActCodeRunAddon。
Target 必要 字串 附加元件的名稱。
TargetArgs 必要 字串 傳遞給 Event 物件,以便設定物件 TargetArgs 屬性的字串。

傳回值

事件

註解

當來源物件的 EventList 集合含有 Event 物件時,會限制事件的報告範圍。 所報告的事件範圍,僅限於來源物件以及物件模型階層中較低層級的物件。 例如,若要在開啟特定文件時執行附加元件,請將 DocumentOpened 事件的 Event 物件新增至該文件的 EventList 集合。 若要在應用程式執行個體中開啟任何文件時執行附加元件,請將 Event 物件新增至 Application 物件的 EventList 集合。

建立 Event 物件是處理來自 C++ 或其他非 Microsoft Visual Basic 解決方案之事件的常用方式。 當您使用 Visual Basic 的 WithEvents 關鍵字來處理事件時,來源物件的事件中的所有事件都會觸發,但是當您建立 Event 物件時,您的程式只會收到您選取的事件的通知。 根據您使用的解決方案,這可能會獲致效能上的提升。

執行附加元件的 Event 物件可以保存下來;也就是說,這些物件可以與 Visio 文件一起儲存。 Event 物件的 Persistent 及 Persistable 屬性都必須為 True,才能夠具有保存性。

傳遞給 Add 方法的引數會設定 Event 物件的 Event、Action (visActCodeRunAddon)、Target 及 TargetArgs 屬性的初始值。

事件代碼由 Visio 型別程式庫宣告,並具有前置詞 visEvt。 事件代碼通常是常數的組合。 例如, visEvtAdd + visEvtDoc 是 DocumentAdded 事件的事件代碼。 若要尋找您要建立之事件的事件代碼,請參閱 事件代碼。

若要建立 Event 物件,而此物件可建議與某個事件有關的呼叫者的接收物件,請參閱 AddAdvise 方法。

範例

下列範例將示範如何將一個可執行附加元件的 Event 物件加入到來源物件的 EventList 集合中;此案例中的來源物件為 Document 物件,而您想要接收此物件的事件。

在執行此巨集之前,請將 pathfilename取代 \ 為 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 支援與意見反應。