Excel VBAで変数の宣言を強制する方法について。

プログラム では、変数を宣言しないで使用すると、バグ(誤り)が入り込む原因になります。

ExcelやAccessのVBAでは、変数を宣言しなかった場合は、Variant型になり、どんな値でも代入できるため、エラーにはなりませんが、メモリーを余分に消費します。

逆に変数を適切なデータ型で宣言すると、メモリーの消費を最小限にできるメリットがあります。

また変数に値を代入する時に、データ型が適切かチェックしてくれるので、バグを防ぐ効果もあります。

したがって変数は、必ず宣言してから使うようにしましょう。

実は、VBAのプログラムでは、「変数の宣言を強制する」ことができます。

変数の宣言を強制すると、変数を宣言しないで使おうとした場合、以下のようなエラーメッセージが表示されるようになります。

mail-145.gif

するとプログラマーが、変数を宣言していないことに気付くので、とても便利です。

VBAプログラムで、変数の宣言を強制するには、以下の2つの方法があります。

■方法1 直接コードを記述する。

【1】Excelのファイル「メール送受信.xls」を開きます。

*マクロを有効にする


【2】VBEを起動します。

*「Altキー」+「F11キー」


【3】フォーム「frm送信」のコードを表示します。


【4】宣言セクションの先頭に、以下の1行を追加します。

mail-144.gif


Option Explicit


たったこれだけです。


【5】VBEを保存して、閉じます。


この方法は簡単ですが、全てのフォームモジュールの宣言セクションに、手作業で追加する必要があります。

そこで、これから新しく作成するフォームには、自動的に挿入される方法も説明しておきます。次の「方法2」をご覧ください。


■方法2 VBEのオプションで設定する。

【1】Excelのファイル「メール送受信.xls」を開きます。

*マクロを有効にする


【2】VBEを起動します。

*「Altキー」+「F11キー」


【3】VBEのメニューから、「ツール → オプション」の順で選択します。

mail-141.gif


【4】編集タブにある「変数の宣言を強制する」を確認してください。

mail-142.gif

この項目にチェックが入っていないと、変数を宣言しなくても使えます。


【5】チェックを入れて、「OK」ボタンをクリックします。

mail-143.gif


【6】VBEを保存して、閉じます。


【7】Excelを一度終了し、再起動すると設定が反映されます。

ただしこの方法だと、反映されるのは、今後作成するモジュールについてだけです。

新しいモジュールには、「Option Explicit」が自動的に挿入されます。

既存のフォームモジュールは、「方法1」のように、手作業で記述する必要があるので、注意してください。

スポンサードリンク

スポンサードリンク






メール送信・受信プログラミング初心者入門 TOPへ