Compartir a través de


Método EventList.Add (Visio)

Agrega un objeto Event que ejecuta un complemento cuando se produce un evento. El objeto Event se agrega a la colección EventList del objeto de origen cuyos eventos desea recibir.

Sintaxis

expresión. Add (EventCode, Action, Target, TargetArgs)

Expresión Variable que representa un objeto EventList .

Parameters

Nombre Obligatorio/opcional Tipo de datos Descripción
EventCode Obligatorio Integer Evento o eventos que se capturarán.
Action Obligatorio Integer Acción que se realizará. La acción debe ser visActCodeRunAddon, un miembro de VisEventCodes de la biblioteca de tipos de Visio.
Target Obligatorio String Nombre del complemento.
TargetArgs Obligatorio String Cadena que se pasa al objeto Eventpara establecer su propiedad TargetArgs.

Valor devuelto

Evento

Comentarios

El objeto de origen cuya colección EventList contiene el objeto Event establece el ámbito en el que se notifican los eventos. Los eventos se notifican para el objeto de origen y los objetos de niveles inferiores en la jerarquía del modelo de objetos. Por ejemplo, para ejecutar un complemento cuando se abre un documento determinado, agregue un objeto Event para el evento DocumentOpened a la colección EventList de ese documento. Para ejecutar un complemento cuando se abre cualquier documento en una instancia de la aplicación, agregue el objeto Event a la colección EventList del objeto Application.

Crear objetos Event es una forma común de controlar los eventos de C++ u otras soluciones que no sean de Microsoft Visual Basic. Cuando se usa la palabra clave WithEvents de Visual Basic para controlar eventos, se activan todos los eventos del conjunto de eventos de un objeto de origen, pero al crear objetos Event , el programa solo recibirá una notificación de los eventos que seleccione. Dependiendo de la solución, esto puede mejorar el rendimiento.

Los objetos Event que ejecutan complementos pueden ser persistentes; es decir, puede guardarse en un documento de Visio. Para ser persistente, tanto la propiedad Persistent como la propiedad Persistable de un objeto Event deben ser True.

Los argumentos que se pasan al método Add establecen los valores iniciales de las propiedades Event, Action (visActCodeRunAddon), Target y TargetArgs del objeto Event.

Los códigos de evento se declaran en la biblioteca de tipos de Visio e incluyen el prefijo visEvt. Los códigos de evento son a menudo una combinación de constantes. Por ejemplo, visEvtAdd + visEvtDoc es el código de evento del evento DocumentAdded . Para encontrar un código de evento para el evento que desea crear, vea el tema sobre los códigos de evento.

Para crear un objeto Event que informe al objeto receptor del llamador sobre un evento, vea el método AddAdvise.

Ejemplo:

En el ejemplo siguiente se muestra cómo agregar un objeto Event que ejecuta un complemento a la colección EventList del objeto de origen, en este caso un objeto Document, cuyos eventos se desean recibir.

Antes de ejecutar esta macro, reemplaceel nombre de archivo de ruta de acceso \ por una ruta de acceso y un nombre de archivo válidos para un complemento ejecutable (EXE) en el proyecto de Visio. El complemento no debería aceptar ningún argumento.

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

Soporte técnico y comentarios

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.