今回はイミディエイトウィンドウについての解説です。
デバッグ時にかなり使う機能になりますので、ぜひ最後までお付き合いください。
- イミディエイトウィンドウとは何か、出来ることを分かりやすく解説します。
- 事前準備、設定方法についても解説します。
イミディエイトウィンドウとは
イミディエイトウィンドウとは、VBEの機能の一つです。
デバッグ時に変数の値やメソッドの戻り値などを参照することが出来ます。
イミディエイトウィンドウの表示設定
まずはVBE上にイミディエイトウィンドウをどうやって表示するかを解説します。
表示設定には、以下2パターンがあります。
Ctrl + Gを押下(ショートカットキー)
VBE上でCtrl + Gを押下すると、VBEの下あたりに表示されます。
表示設定の変更
VBEの上部 [表示]をクリックし、[イミディエイトウィンドウ]をクリックします。
イミディエイトウィンドウの使い方
イミディエイトウィンドウの具体的な使い方をご紹介します。
ログを表示する
コーディング時には、デバッグ用のログ表示をすることがあります。
デバッグ用のログは、以下のコードにて出力することが出来ます。
サンプルコード
Debug.Print "ログ出力内容"
実行例
計測前後に配置してみてね!
サンプルコード
Debug.Print Now
変数に格納されている値を確認する
デバッグ中に変数の中身を見ることが出来ます。
以下のように、イミディエイトウィンドウに [?変数名]を入力をすると、変数の中身を確認できます。
?変数名
実行例
以下の画像では、str変数に “VBA Hack”という文字列が代入されています。
この状態で ?変数名 を入力すると、“VBA Hack”が入っているという結果が返却されます。
もちろん、\その後 str変数が “VBA Hack見てね!”という文字列に変更になった場合、その都度 ?変数名を入力することで「現在の変数内容」が表示されます。
Functionプロシージャの戻り値を確認する
Functionプロシージャの戻り値も確認できます。
例を用いて解説します。
前提として、以下のようなFunctionプロシージャを用意しました。
数字であれば「数字です」、数字でなければ「数字ではありません」という文字列を返すプロシージャです。
Private Function checkNumber(ByVal target As Variant)
If IsNumeric(target) Then
' 数値の場合
checkNumber = "数字です"
Else
' 数値以外の場合 "2"を返却
checkNumber = "数字ではありません。"
End If
End Function
このプロシージャに、どういった値を渡せばどのような結果が返ってくるのかを、イミディエイトウィンドウで確かめることが出来ます。
例えば、プロシージャに 1という数字を渡してみましょう。
この場合は「数字です」という文字が返却されますね。
次はプロシージャに “ABC”という文字を渡してみましょう。
この場合、「数字ではありません」という文字が返却されました。
最後に
いかがでしたでしょうか。
本記事でご紹介した、イミディエイトウィンドウがあるとデバッグをしながらソースコードを書いて微修正をすることが出来て非常に便利です。
この記事が、読者さんのお力になれれば嬉しいです!
コメント