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.