Propriété Application.TraceFlags (Visio)

Récupère ou définit les événements consignés dans le journal lors d’une instance de Microsoft Visio. Lecture-écriture.

Syntaxe

expression. TraceFlags

expressionUne variable qui représente un objetApplication.

Valeur renvoyée

Entier long

Remarques

La valeur de la propriété TraceFlags peut être une combinaison des valeurs suivantes.

Constante Valeur Description
visTraceEvents &H1 Occurrences d'événement
visTraceAdvises &H2 Appels de notification sortants
visTraceAddonInvokes &H4 Appels de module complémentaire
visTraceCallsToVBA &H8 Appels VBA

La définition de l'indicateur visTraceEvents entraîne l'enregistrement dans la fenêtre Exécution de la plupart des événements Visio, au moment où ils surviennent. Dans la plupart des cas, cela se produit même si aucun agent externe n'entend ou ne répond à l'événement. Dans de rares cas, Visio sait que l'événement n'est pas entendu et n'enregistre pas ces événements. Visio n'enregistre pas non plus les événements ou les notifications inactives. En outre, certains événements sont des spécialisations d'autres événements et ne sont pas enregistrés. Par exemple, l'événement SelectionAdded est fabriqué à partir d'événements ShapeAdded distincts, et la fenêtre Exécution enregistre les événements ShapeAdded mais pas les événements SelectionAdded.

Voici une chaîne que Visio pourrait enregistrer lorsque visTraceEvents est défini :

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

Le nombre après l'argument « -event: » est le code de l'événement qui s'est produit. Dans ce cas, 0x8040 est le code de l'événement ShapeAdded. Le texte suivant le code d'événement varie d'un événement à l'autre.

La définition de l'indicateur visTraceAdvises écrit une ligne dans la fenêtre Exécution juste avant que Visio appelle une procédure de gestion des événements, et une autre ligne juste après que le gestionnaire d'événement soit renvoyé. Cela comprend les procédures d'événement dans les projets Microsoft Visual Basic pour Applications (VBA), par exemple, les procédures dans ThisDocument. Voici un exemple de ce que vous pouvez trouver :

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

Ces chaînes indiquent l'appel à un gestionnaire d'événement et la valeur renvoyée par ce dernier. Le numéro séquentiel indique également que cet événement était le quatrième événement déclenché par Visio. Le code de l'événement est 0x8040 et l'adresse de l'interface appelée par Visio est 0x40097598.

La définition de l'indicateur visTraceAddonInvokes effectue un enregistrement lorsque Visio appelle un fichier EXE ou VSL de module complémentaire et lorsque Visio reprend le contrôle. Voici un exemple :

>invokeAO: SHOWARGS.EXE 
<invokeAO: completed 

La définition de l'indicateur visTraceAddonInvokes effectue également le suivi des tentatives d'appel des modules complémentaires introuvables. Par exemple, si la formule d'une cellule est =RunAddon(« xxx ») et si le module complémentaire « xxx » n'existe pas, le message « InvokeAO: Impossible de mapper xxx vers un module complémentaire connu » est enregistré.

La définition de l’indicateur visTraceCallToVBA écrit une ligne dans la fenêtre Exécution juste avant d’effectuer un appel à VBA autre qu’un appel à une procédure événementielle (utilisez visTraceAdvises pour journaliser les appels aux procédures événementielles VBA) et une autre ligne juste après que VBA renvoie le contrôle à Visio. Cet indicateur trace les appels de macro, les appels aux procédures VBA résultant de l’évaluation des cellules qui utilisent les opérandes RunAddon ou CallThis, et les appels résultant de la sélection d’éléments de menu ou de barre d’outils personnalisés. Voici un exemple :

>invokeVBA: Module1.MyMacro 
<invokeVBA: completed 

Aucun message n'apparaît dans la fenêtre Exécution à moins qu'un document possédant un projet VBA ne soit ouvert. Visio ne conserve qu'un petit nombre de messages à enregistrer lorsqu'un tel document est ouvert. Mais les messages sont perdus si aucun document avec un projet n'est disponible pendant des périodes de temps conséquentes. Les messages sont également perdus si VBA est réinitialisé ou s'il existe des points d'arrêt non désactivés.

Le code des projets VBA peut disséminer ses messages avec ceux enregistrés par Visio à l'aide d'instructions Debug.Print standard. Le code de projets non VBA peut enregistrer des messages dans la fenêtre Exécution à l'aide de l'instruction Document.VBProject.ExecuteLine("Debug.Print ""UneChaîne""").

La propriété TraceFlags est enregistrée dans l'entrée TraceFlags de la section Application du registre.

Exemple

Cette macro VBA indique comment utiliser la propriété TraceFlags pour enregistrer des événements, des notifications, des appels de programmes complémentaires et des appels Visual Basic dans la fenêtre Exécution.

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

Assistance et commentaires

Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.