Compartilhar via


Propriedade Application.TraceFlags (Visio)

Obtém ou define eventos registrados durante uma instância do Microsoft Visio. Leitura/gravação.

Sintaxe

expressão. TraceFlags

expressão Uma variável que representa um Aplicativo objeto.

Valor de retorno

Long

Comentários

O valor da propriedade TraceFlags pode ser uma combinação do valores a seguir.

Constant Valor Descrição
visTraceEvents &H1 Ocorrência de eventos
visTraceAdvises &H2 Chamadas de aviso enviadas
visTraceAddonInvokes &H4 Invocações de complementos
visTraceCallsToVBA &H8 Invocações do VBA

Configurar o sinalizador visTraceEvents faz com que o Visio registre a maioria dos eventos quando eles ocorrem e exiba-os na janela Immediate. Na maioria dos casos, isso ocorre mesmo que nenhum agente externo esteja escutando ou respondendo ao evento. Em alguns casos, o Visio sabe que não há ouvintes para um evento e não o registra. O Visio também não registra eventos ou avisos ociosos. Além disso, alguns eventos são especializações de outros eventos e não são gravados. Por exemplo, o evento SelectionAdded é fabricado a partir de eventos ShapeAdded distintos, assim a janela Immediate grava os eventos ShapeAdded mas não grava os eventos SelectionAdded.

A seguir, uma cadeia de caracteres que o Visio pode registrar quando visTraceEvents é definido:

-event: 0x8040 /doc=1 /page=1 /shape=Sheet.1

O número depois de -event: é o código do evento ocorrido. Neste caso, 0x8040 é o código para o evento ShapeAdded. O texto que segue o código de eventos difere de um evento para outro.

Configurar um sinalizador visTraceAdvises grava uma linha para a janela Immediate um pouco antes do Visio chamar um procedimento de manipulador de eventos e outra linha logo após o retorno do manipulador de eventos. Isso inclui procedimentos de evento dos projetos Microsoft Visual Basic for Applications (VBA), por exemplo, procedimentos em ThisDocument. A seguir, um exemplo do que você pode ver:

>advise seq=4 event=0x8040 sink=0x40097598 
<advise seq=4 

Estas sequências indicam a chamada para e o retorno de um manipulador de eventos. O número de sequências também indica que este evento foi o quarto disparado pelo Visio. O código do evento é 0x8040 e o endereço da interface que o Visio chamou é 0x40097598.

Configurar o sinalizador visTraceAddonInvokes grava quando o Visio invoca um complemento EXE ou VSL e quando o Visio recupera o controle. Veja um exemplo:

>invokeAO: SHOWARGS.EXE 
<invokeAO: completed 

Configurar o sinalizador visTraceAddonInvokes também rastreia as tentativas de invocação de complementos que não estão presentes. Por exemplo, se uma fórmula de célula for =RunAddon("xxx") e não há complementos nomeados "xxx", a mensagem "InvocarAO: Falha ao mapear 'xxx' para complemento conhecido" está registrada.

Configurar o visTraceCallToVBA flag grava uma linha para a janela Immediate um pouco antes de fazer uma chamada para o VBA diferente de uma chamada para um procedimento de evento (use visTraceAdvises para registrar chamadas para os procedimentos de evento do VBA) e outra linha logo após o VBA retornar o controle para o Visio. Este sinalizador rastreia invocações de macros, chamadas para os procedimentos VBA resultantes da avaliação de células que utilizam operandos de RunAddon ou CallThis, e chamadas resultantes de seleção de menu personalizado ou itens de barra de ferramentas. Veja um exemplo:

>invokeVBA: Module1.MyMacro 
<invokeVBA: completed 

A mensagem não é exibida na janela Immediate a não ser que um documento que tenha um projeto VBA esteja aberto. O Visio enfileira um pequeno número de mensagens para registrar quando este documento for aberto. Entretanto, mensagens serão perdidas se nenhum documento com um projeto estiver disponível por períodos prolongados. As mensagens também serão perdidas se o VBA for redefinido ou se há pontos de interrupção não desativáveis.

Os códigos nos projetos VBA intercalam mensagens com aquelas registradas pelo Visio usando instruções Debug.Print padrão. Os códigos em projetos que não são do VBA registram mensagens para a janela Immediate usando Document.VBProject.ExecuteLine("Debug.Print ""somestring""").

A propriedade TraceFlags é gravada na entrada TraceFlags da seção Application do registro.

Exemplo

Esta macro do VBA macro mostra como utilizar a propriedade TraceFlags para registrar eventos, avisos, invocações de complemento e invocações do Visual Basic na janela Immediate.

 
Public Sub TraceFlags_Example() 
 
 Application.TraceFlags = visTraceEvents + visTraceAdvises + _ 
 visTraceAddonInvokes + visTraceCallsToVBA 
 
End Sub

Suporte e comentários

Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.