Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Получает или настраивает события, зарегистрированные во время экземпляра Microsoft Visio. Для чтения и записи.
Синтаксис
выражение. Индикаторы TraceFlags
выражение: переменная, представляющая объект Application.
Возвращаемое значение
Long
Примечания
Значение свойства TraceFlags может быть комбинацией следующих значений.
| Константа | Значение | Описание |
|---|---|---|
| visTraceEvents | &H1 | Количество вхождений событий |
| visTraceAdcommandes | &H2 | Исходящие звонки с советами |
| visTraceAddonInvokes | &H4 | Вызовы надстроек |
| visTraceCallsToVBA | &H8 | Вызовы VBA |
Установка флага visTraceEvents приводит к тому, что Visio регистрирует большинство событий по мере их возникновения и отображает их в окне мгновенных данных. В большинстве случаев это происходит, даже если внешний агент не прослушивает событие или не реагирует на него. В некоторых случаях Visio знает, что для события нет прослушивателя, и не регистрирует эти события. Visio также не регистрирует события простоя и не советы. Кроме того, некоторые события являются специализациями других событий и не записываются. Например, событие SelectionAdded создается из отдельных событий ShapeAdded , поэтому в окне интерпретации записываются события ShapeAdded , но не события SelectionAdded .
Вот строка, которую Visio может регистрировать, если настроен параметр visTraceEvents :
-event: 0x8040 /doc=1 /page=1 /shape=Sheet.1
Число после -event: — это код произошедшего события. В данном случае 0x8040 — код для события ShapeAdded . Текст после кода события отличается от события к событию.
Установка флага visTraceAdvises записывает строку в окно мгновенных данных непосредственно перед вызовом Visio процедуры обработчика событий, а другую строку сразу после возврата обработчика событий. Сюда относятся процедуры событий в проектах Microsoft Visual Basic для приложений (VBA), например процедуры в ThisDocument. Вот пример того, что вы можете увидеть:
>advise seq=4 event=0x8040 sink=0x40097598
<advise seq=4
Эти строки указывают на вызов и возврат из обработчика событий. Порядковый номер также указывает, что это событие было четвертым, запущенным приложением Visio. Код события — 0x8040, а адрес интерфейса, вызываемого Visio, — 0x40097598.
Установка записей флага visTraceAddonInvokes , когда Visio вызывает надстройку EXE или VSL и когда Visio восстанавливает управление. Пример:
>invokeAO: SHOWARGS.EXE
<invokeAO: completed
Установка флага visTraceAddonInvokes также отслеживает попытки вызова надстроек, которые отсутствуют. Например, если формула ячейки — =RunAddon("xxx"), а надстройка с именем "xxx" отсутствует, регистрируется сообщение "InvokeAO: не удалось сопоставить xxx с известной надстройкой".
Установка флага visTraceCallToVBA приводит к записи строки в окно мгновенных данных непосредственно перед вызовом VBA, отличного от вызова процедуры обработки событий (используйте visTraceAdvises для регистрации вызовов процедур обработки событий VBA), и еще одна строка сразу после того, как VBA возвращает управление Visio. Этот флаг отслеживает вызовы макросов, вызовы процедур VBA, возникающие в результате оценки ячеек, использующих операнды RunAddon или CallThis, и вызовы, вызванные выбором элементов настраиваемого меню или панели инструментов. Пример:
>invokeVBA: Module1.MyMacro
<invokeVBA: completed
Сообщение не отображается в окне интерпретации, если не открыт документ с проектом VBA. Visio ставит в очередь небольшое количество сообщений для регистрации при открытии такого документа. Однако сообщения пропадают, если документ с проектом недоступен в течение длительного времени. Сообщения также теряются, если VBA сбрасывается или если есть незакрытые точки останова.
Код в проектах VBA может перемежать свои сообщения с сообщениями, зарегистрированными в Visio, используя стандартные операторы Debug.Print . Код в проектах, отличных от VBA, может регистрировать сообщения в окне мгновенных данных с помощью Document.VBProject.ExecuteLine("Debug.Print", ""somestring""").
Свойство TraceFlags записывается в запись TraceFlags раздела Application реестра.
Пример
В этом макросе VBA показано, как использовать свойство TraceFlags для регистрации событий, советов, вызовов надстроек и вызовов Visual Basic в окне мгновенных данных.
Public Sub TraceFlags_Example()
Application.TraceFlags = visTraceEvents + visTraceAdvises + _
visTraceAddonInvokes + visTraceCallsToVBA
End Sub
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.