Свойство Application.TraceFlags (Visio)
Возвращает или задает события, зарегистрированные в журнале экземпляра Microsoft Visio. Для чтения и записи.
Синтаксис
expression. TraceFlags
выражение: переменная, представляющая объект Application.
Возвращаемое значение
Long
Замечания
Значение свойства TraceFlags может быть сочетанием следующих значений.
Константа | Значение | Описание |
---|---|---|
visTraceEvents | &H1 | Вхождений событий |
visTraceAdvises | &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 и обратная связь.