Метод EventList.Add (Visio)

Добавляет объект Event , который запускает надстройку при возникновении события. Объект Event добавляется в коллекцию EventList исходного объекта, события которого требуется получить.

Синтаксис

expression. Добавить (EventCode, Action, Target, TargetArgs)

Выражение Переменная, представляющая объект EventList .

Параметры

Имя Обязательный или необязательный Тип данных Описание
EventCode Обязательный Integer События для записи.
Действие Обязательный Integer Выполняемая действие. Должен быть visActCodeRunAddon, членом VisEventCodes в библиотеке типов Visio.
Target (Целевое значение) Обязательный String Имя надстройки.
TargetArgs Обязательный String Строка, передаваемая объекту Event для задания свойства TargetArgs .

Возвращаемое значение

Событие

Замечания

Исходный объект , коллекция EventList которого содержит объект Event , устанавливает область, в которой передаются события. События передаются для исходного объекта и объектов ниже в иерархии объектной модели. Например, чтобы запустить надстройку при открытии определенного документа, добавьте объект Event для события DocumentOpened в коллекцию EventList этого документа. Чтобы запустить надстройку при открытии любого документа в экземпляре приложения, добавьте объект Event в коллекцию EventList объекта Application .

Создание объектов event — это распространенный способ обработки событий из C++ или других решений Visual Basic, отличных от Microsoft. При использовании ключевого слова Visual Basic WithEvents для обработки событий все события в событии исходного объекта загорелись, но при создании объектов Event программа будет получать уведомления только о выбранных событиях. В зависимости от решения это может привести к повышению производительности.

Объекты событий , запускающие надстройки, могут быть постоянными: то есть они могут храниться в документе Visio. Чтобы быть постоянными, свойства Persistent и Persistable объекта Event должны иметь значение True.

Аргументы, передаваемые методу Add, задают начальные значения свойств Event объекта Event, Action (visActCodeRunAddon), Target и TargetArgs.

Коды событий объявляются библиотекой типов Visio и имеют префикс visEvt. Коды событий часто представляют собой сочетание констант. Например, visEvtAdd + visEvtDoc — это код события DocumentAdded . Сведения о том, как найти код события, которое требуется создать, см. в разделе Коды событий.

Сведения о создании объекта Event , который сообщает объекту приемника вызывающего объекта о событии, см. в статье Метод AddAdvise .

Пример

В следующем примере показано, как добавить объект Event , запускающий надстройку, в коллекцию EventList исходного объекта, в данном случае объект Document , события которого требуется получать.

Перед выполнением этого макроса заменитеимя файлапути \ допустимым путем и именем файла для исполняемой надстройки (EXE) в проекте Visio. Надстройка не должна принимать аргументов.

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 и обратная связь.