目標
VBEで準備されているデバッグ機能を理解して利用できる
デバッグの概要とVBEのデバッグ機能
デバッグとは
デバッグとはプログラムの「バグ」を取り除くことです。バグとはプログラムが正しく動かない原因のことです。つまりデバッグはプログラムが動かない原因を取り除く作業のことと言えます。
VBEのデバッグ機能
VBEには様々なデバッグ機能が準備されています。
- 自動構文チェック機能(この記事で扱います)
- VBAProjectのコンパイル(この記事で扱います)
- プロシージャ実行時エラー(この記事で扱います)
- ステップモード(「デバッグ」Part.2の記事で扱います)
- ブレイクポイント(「デバッグ」Part.2の記事で扱います)
- イミディエイトウィンドウ(「デバッグ」Part.3の記事で扱います)
- ウォッチウインドウ(「デバッグ」Part.3の記事で扱います)
自動構文チェック機能
「自動構文チェック機能」はVBE内でプログラム記述中に構文に誤りがないかチェックしてくれる機能です。プログラムを記述中の行からカーソルを移動させたときに「自動構文チェック機能」が働きます。
自動構文チェック機能の動きの確認
「自動構文チェック機能」については以上です。
VBAProjectのコンパイル
「自動構文チェック機能」では取り切れないバグも存在します。「自動構文チェック機能」はプログラム一行ずつを対象にしてチェックを行いますが、制御構文など複数行にまたがってひとつの構文となっているような内容ではプログラム全体として実行が可能かを確認する必要があります。このような場面で「VBAProjectのコンパイル」を行います。
VBAProjectのコンパイルの操作と動きの確認
「VBAProjectのコンパイル」については以上です。
プロシージャ実行時エラー
「自動構文チェック機能」だけでなく「VBAProjectのコンパイル」でも確認できないエラーも存在します。例えばオブジェクトの取得時に取得したいオブジェクトが存在しないなどプロシージャが動いて初めて分かるエラーがあります。このようにプログラムの内容は間違っていないけど、動かして初めて気づくといったときは「プロシージャ実行時エラー」が働いてくれます。
「自動構文チェック機能」と「VBAProjectのコンパイル」の両方でエラーは確認できません。次にこのプロシージャを動かしてみると下のキャプチャと同様のエラーが現れます。
「デバッグ」を選択するとエラー個所の行が黄色くハイライトされます。
「プロシージャ実行時エラー」については以上です。
今回は以上となります。
ブックマークのすすめ
「ほわほわぶろぐ」を常に検索するのが面倒だという方はブックマークをお勧めします。ブックマークの設定は別記事にて掲載しています。