Méthode EventList.Add (Visio)

Ajoute un objet Event qui lance un module complémentaire lorsqu'un événement se produit. L'objet Event est ajouté à la collection EventList de l'objet source dont vous souhaitez recevoir les événements.

Syntaxe

expression. Add (EventCode, Action, Target, TargetArgs)

Expression Variable qui représente un objet EventList .

Parameters

Nom Requis/Facultatif Type de données Description
EventCode Requis Integer Les événements à saisir.
Action Obligatoire Integer Action à effectuer. Doit être visActCodeRunAddon, membre de VisEventCodes dans la bibliothèque de types de Visio.
Target (Cible) Obligatoire String Nom de votre module complémentaire.
TargetArgs Requis String Chaîne transmise à votre objet Event pour définir sa propriété TargetArgs.

Valeur renvoyée

Événement

Remarques

L'objet source dont la collection EventList contient l'objet Event détermine la portée avec laquelle les événements sont signalés. Les événements sont signalés pour l'objet source et les objets situés à un échelon inférieur dans la hiérarchie de modèle d'objet. Par exemple, pour exécuter un module complémentaire à l'ouverture d'un document donné, ajoutez un objet Event pour l'événement DocumentOpened à la collection EventList de ce document. Pour exécuter un module complémentaire quel que soit le document ouvert dans une instance de l'application, ajoutez l'objet Event à la collection EventList de l'objet Application.

La création d'objets Event est une technique courante pour gérer les événements provenant de solutions C++ ou d'autres solutions n'appartenant pas à Microsoft Visual Basic. Lorsque vous utilisez le mot clé Visual Basic WithEvents pour gérer les événements, tous les événements du jeu d’événements d’un objet source se déclenchent, mais lorsque vous créez des objets Event , votre programme est informé uniquement des événements que vous sélectionnez. Selon votre solution, vous pourrez constater une amélioration des performances.

Les objets Event qui exécutent des modules complémentaires peuvent être permanents, ce qui signifie qu'ils peuvent être stockés dans un document Visio. Pour être permanentes, les propriétés Persistent et Persistable de l'objet Event doivent avoir chacune la valeur True.

Les arguments transmis à la méthode Add définissent les valeurs initiales des propriétés Event, Action (visActCodeRunAddon), Target et TargetArgs de l'objet Event.

Les codes d’événement sont déclarés par la bibliothèque de types de Visio et commencent par le préfixe visEvt. Les codes d’événement sont souvent une combinaison de constantes. Par exemple, visEvtAdd + visEvtDoc est le code d’événement de l’événement DocumentAdded . Pour rechercher le code de l’événement à créer, voir Codes d’événement.

Pour créer un objet Event qui avertit l'objet de réception de l'appelant d'un événement, reportez-vous à la méthode AddAdvise.

Exemple

L'exemple suivant indique comment ajouter un objet Event qui exécute un module complémentaire à la collection EventList de l'objet source, dans ce cas, un objet Document dont vous souhaitez recevoir les événements.

Avant d’exécuter cette macro, remplacez lenom duchemin \ par un chemin d’accès et un nom de fichier valides pour un module complémentaire exécutable (EXE) dans votre projet Visio. Le module complémentaire ne doit prendre aucun argument.

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

Assistance et commentaires

Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.