Où se connecte VBA Debug.Print?

Réponses:

354

Où voulez-vous voir la sortie?

Les messages sortis via Debug.Printseront affichés dans la fenêtre immédiate que vous pouvez ouvrir en appuyant sur Ctrl+ G.

Vous pouvez également activer la fenêtre dite immédiate en cliquant sur Affichage -> Fenêtre immédiate dans la barre d'outils VBE

entrez la description de l'image ici

Dirk Vollmar
la source
6
Cela est vrai si vous êtes dans une application bureautique qui prend en charge VBA, mais si vous utilisez via WSH, vous devrez peut-être utiliser MsgBox ( shudder ) ou une technique similaire car la fenêtre immédiate n'est pas disponible.
AJ.
85

Debug.Print affiche la fenêtre "Immédiat".

Sorties Debug.Print dans la fenêtre Exécution

En outre, vous pouvez simplement taper ?puis une instruction directement dans la fenêtre immédiate (puis appuyer sur Entrée) et faire apparaître la sortie juste en dessous, comme ceci:

tapez simplement?  puis une déclaration directement dans la fenêtre immédiate

Cela peut être très pratique pour sortir rapidement la propriété d'un objet ...

? myWidget.name

... pour définir la propriété d'un objet ...

myWidget.name = "thingy"

... ou même pour exécuter une fonction ou une ligne de code, en mode débogage:

Sheet1.MyFunction()

LimaNightHawk
la source
7
lol, quel nom peu intuitif. La "fenêtre immédiate" m'a toujours fait penser à la fenêtre actuelle. Ou une fenêtre d'application principale.
j riv
5
Puisque vous pouvez taper du code et voir les résultats "immédiatement", vous pouvez voir pourquoi ils l'ont nommé ainsi au lieu d'une logique étrange où "immédiat" signifie "actuel".
Rick Henderson
3
Oui, alors que toute personne de logique étrange qui avait cependant immédiatement un sens pour la terminologie immédiate pourrait peut-être immédiatement l'appeler une "console de débogage". Mais comme VBA est un langage si génial que vous ne vous y trompez jamais, vous n'avez jamais besoin de déboguer quoi que ce soit. Vous utilisez uniquement cette fenêtre pour démontrer immédiatement les grandes fonctions immédiates de ce langage immédiat.
Palo
2
Oh, ma faute: appeler une fenêtre qui ne peut pas contenir immédiatement plus de 200 lignes une "Debug Console" serait immédiatement une erreur.
Palo