Событие Document.PageAdded (Visio)
Происходит после добавления новой страницы в документ.
expression. Страница Добавлена (страница)
Выражение Переменная, представляющая объект Document .
Имя | Обязательный или необязательный | Тип данных | Описание |
---|---|---|---|
Page | Обязательный | [IVPAGE] | Добавленная страница. |
Если вы используете Microsoft Visual Basic или Visual Basic для приложений (VBA), синтаксис в этом разделе описывает распространенный и эффективный способ обработки событий.
Если вы хотите создать собственные объекты Event , используйте метод Add или AddAdvise .
Чтобы создать объект Event , запускающий надстройку, используйте метод Add в том виде, в котором он применяется к коллекции EventList .
Чтобы создать объект Event , получающий уведомление, используйте метод AddAdvise .
Чтобы найти код события, которое требуется создать, см. статью Коды событий.
В этом примере показано, как создать модуль класса для обработки событий, инициируемых исходным объектом в Microsoft Visio, например объектом Document . Модуль состоит из функции VisEventProc, которая использует блок Select Case для проверки наличия трех событий: DocumentSaved, PageAdded и ShapesDeleted. Другие события относятся к регистру по умолчанию (Case Else). Каждый блок Case создает строку ( strMessage ), которая содержит имя и код события, которое сработает. Наконец, функция отображает строку в окне Интерпретация.
Скопируйте этот пример кода в новый модуль класса в VBA или Visual Basic, назвав модуль clsEventSink. Затем можно использовать модуль приемника событий для создания экземпляра класса clsEventSink и объектов Event , которые отправляют уведомления о срабатывании события в экземпляр класса. Чтобы узнать, как создать модуль приемника событий, см. пример метода AddAdvise .
Implements Visio.IVisEventProc
'Declare visEvtAdd as a 2-byte value
'to avoid a run-time overflow error
Private Const visEvtAdd% = &H8000
Private Function IVisEventProc_VisEventProc( _
ByVal nEventCode As Integer, _
ByVal pSourceObj As Object, _
ByVal nEventID As Long, _
ByVal nEventSeqNum As Long, _
ByVal pSubjectObj As Object, _
ByVal vMoreInfo As Variant) As Variant
Dim strMessage As String
'Find out which event fired
Select Case nEventCode
Case visEvtCodeDocSave
strMessage = "DocumentSaved (" & nEventCode & ")"
Case (visEvtPage + visEvtAdd)
strMessage = "PageAdded (" & nEventCode & ")"
Case visEvtCodeShapeDelete
strMessage = "ShapesDeleted(" & nEventCode & ")"
Case Else
strMessage = "Other (" & nEventCode & ")"
End Select
'Display the event name and the event code
Debug.Print strMessage
End Function
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.