Поделиться через


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