Add メソッド (Visio)EventList.Add method (Visio)

イベントが発生したときにアドオンを実行するeventオブジェクトを追加します。Adds an Event object that runs an add-on when an event occurs. イベントオブジェクトは、受信するイベントを持つソースオブジェクトのEventListコレクションに追加されます。The Event object is added to the EventList collection of the source object whose events you want to receive.


追加(EventcodeActionTargettargetargs)expression.Add (EventCode, Action, Target, TargetArgs)

EventList オブジェクトを表す変数を取得します。expression A variable that represents an EventList object.


名前Name 必須 / オプションRequired/Optional データ型Data type 説明Description
EventCodeEventCode 必須Required 整数型 (Integer)Integer キャプチャするイベントです。The event(s) to capture.
ActionAction 必須Required 整数型 (Integer)Integer 実行するアクションです。The action to perform. VisActCodeRunAddonは、Visio タイプライブラリの**VisEventCodes** のメンバーである必要があります。Must be visActCodeRunAddon, a member of VisEventCodes in the Visio type Library.
TargetTarget 必須Required StringString 使用するアドオンの名前です。The name of your add-on.
TargetArgsTargetArgs 必須Required StringString イベントオブジェクトに渡される文字列。 targetargsプロパティを設定します。The string that is passed to your Event object to set its TargetArgs property.

戻り値Return value



イベントオブジェクトを含むEventListコレクションがある**** ソースオブジェクトは、イベントが報告される範囲を指定します。The source object whose EventList collection contains the Event object establishes the scope in which the events are reported. イベントは、ソース オブジェクトと、オブジェクト モデルの階層に含まれる下位のオブジェクトに報告されます。Events are reported for the source object and objects lower in the object model hierarchy. たとえば、特定の図面を開いたときにアドオンを実行するには、その図面の EventList コレクションに、DocumentOpened イベントの Event オブジェクトを追加します。For example, to run an add-on when a particular document is opened, add an Event object for the DocumentOpened event to the EventList collection of that document. アプリケーションのインスタンスで画面を開いたときにアドオンを実行するには、Application オブジェクトの EventList コレクションに、Event オブジェクトを追加します。To run an add-on when any document is opened in an instance of the application, add the Event object to the EventList collection of the Application object.

イベントオブジェクトの作成は、C++ またはその他の Microsoft 以外の Visual Basic ソリューションからのイベントを処理する一般的な方法です。Creating Event objects is a common way to handle events from C++ or other non-Microsoft Visual Basic solutions. Visual Basic のWithEventsキーワードを使用してイベントを処理すると、ソースオブジェクトのイベントセットに含まれるすべてのイベントが発生しますが、イベントオブジェクトを作成するときには、選択したイベントの通知のみが行われます。When you use the Visual Basic WithEvents keyword to handle events, all the events in a source object's event set fire, but when you create Event objects, your program will only be notified of the events you select. ソリューションによっては、この方法によりパフォーマンスが向上する可能性があります。Depending on your solution, this may result in improved performance.

アドオンを実行する Event オブジェクトは永続的なものであり、Visio 図面と共に格納することができます。Event objects that run add-ons can be persistent: that is, they can be stored with a Visio document. 永続的なオブジェクトにするためには、Event オブジェクトの Persistent プロパティと Persistable プロパティを両方とも True に設定する必要があります。To be persistent, an Event object's Persistent and Persistable properties must both be True.

Addメソッドに渡される引数は、 Eventオブジェクトのイベントアクション(visActCodeRunAddon)、 Target、およびtargetargsプロパティの初期値を設定します。The arguments passed to the Add method set the initial values of the Event object's Event, Action (visActCodeRunAddon), Target, and TargetArgs properties.

イベントコードは、Visio タイプライブラリで宣言され、プレフィックスはvisEvtです。Event codes are declared by the Visio type library and have the prefix visEvt. 多くのイベント コードは定数の組み合わせで構成されます。Event codes are often a combination of constants. たとえば、 visEvtAdd + visEvtDocは、 documentaddedイベントのイベントコードです。For example, visEvtAdd + visEvtDoc is the event code for the DocumentAdded event. 作成するイベントのイベント コードについては、「イベント コード」を参照してください。To find an event code for the event that you want to create, see Event Codes.

イベントに関する呼び出し元のシンクオブジェクトをアドバイズするeventオブジェクトを作成するには、 AddAdviseメソッドを参照してください。To create an Event object that advises the caller's sink object about an event, see the AddAdvise method.


次の例は、アドオンを実行するEventオブジェクトを、ソースオブジェクト (この場合はDocumentオブジェクト) のEventListコレクションに追加する方法を示しています。この例では、受け取りたいイベントが含まれています。The following example shows how to add an Event object that runs an add-on to the EventList collection of the source object, in this case a Document object, whose events you want to receive.

このマクロを実行する前に、 path \ _filename_を Visio プロジェクトの実行可能なアドオン (EXE) の有効なパスとファイル名に置き換えてください。Before running this macro, replace path \ filename with a valid path and file name for an executable add-on (EXE) in your Visio project. アドオンに渡す引数は不要です。The add-on should take no arguments.

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

サポートとフィードバックSupport and feedback

Office VBA またはこの説明書に関するご質問やフィードバックがありますか?Have questions or feedback about Office VBA or this documentation? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.