EventList。 Add 方法 (Visio)

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

語法

運算式新增 (EventCode動作目標TargetArgs)

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

參數

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

傳回值

事件

註解

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

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

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

傳遞給 Add 方法的引數會設定 Event 物件的 事件Action (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 支援與意見反應