VBA Debug.Printはどこにログを記録しますか?


回答:


354

出力をどこに表示しますか?

経由で出力されているメッセージDebug.Printは、Ctrl+ を押して開くことができるイミディエイトウィンドウに表示されますG

VBEツールバーの[表示]→[イミディエイトウィンドウ]をクリックして、いわゆるイミディエイトウィンドウをアクティブにすることもできます。

ここに画像の説明を入力してください


6
これは、VBAをサポートするオフィスアプリケーションの場合に当てはまりますが、WSHを使用している場合は、イミディエイトウィンドウが利用できないため、MsgBox(shudder)または同様の手法を使用する必要がある場合があります。
AJ。

85

Debug.Print 「イミディエイト」ウィンドウに出力します。

イミディエイトウィンドウへのDebug.Print出力

また、?ステートメントを直接入力して直接イミディエイトウィンドウに入力し(Enterキーを押す)、次のように出力をすぐ下に表示することもできます。

単に入力しますか? そして、直接イミディエイトウィンドウにステートメント

これは、オブジェクトのプロパティをすばやく出力するのに非常に便利です...

? myWidget.name

... オブジェクトのプロパティを設定するには...

myWidget.name = "thingy"

...またはデバッグモードで関数またはコード行を実行する場合も同様です。

Sheet1.MyFunction()


7
笑、なんて直感に反する名前なんだ。「イミディエイトウィンドウ」では、常に現在のウィンドウを思い浮かべました。またはメインアプリウィンドウ。
j riv

5
コードを入力して結果を「すぐに」確認できるため、「即時」が「現在」を意味する奇妙なロジックの代わりに、なぜコードに名前を付けたのかを確認できます。
リックヘンダーソン

3
はい。ただし、すぐに専門用語をすぐに理解できる奇妙なロジックの人物は、すぐに「デバッグコンソール」と呼ぶことができます。しかし、VBAは非常に優れた言語であるため、間違いを犯すことは決してないため、何もデバッグする必要はありません。このウィンドウは、この即時言語のすぐに使える即時機能をすぐに示すためにのみ使用します。
パロ

2
ああ、私のせいです。200行を超えることができないウィンドウを「デバッグコンソール」と呼ぶと、すぐに失敗します。
パロ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.