VBA 変数宣言を強制する設定 [VBA]
ACCESSのVBAでプログラムを行う際、初期設定は変数宣言をしなくても良い設定になっています。
だからといって、変数宣言を省略することが推奨されているわけではありません。
変数宣言を省略した場合、プログラム中で変数が登場したタイミングで、変数が生成されます。Dimによる宣言では、データ型を明示することができますが、宣言を省略した場合はなんでも扱えるタイプの変数になります(バリアント型)。
一見便利そうですが、次のような問題が起こる場合があります。
バリアント型の変数なので、何が代入されてもエラーになりません。プログラマーの予想外の値が代入されてしまっても、エラーにならずに実行され続けます。
また、どんな名前の変数でも、コードに出てきたら自動で宣言されてしまうので、変数名をタイプミスした場合、そのまま実行できてしまうので、発見が遅れることがあります。
変数宣言を強制している場合、宣言していない変数名があると、エラーになります。
上記の事から、VBA(VB)で開発を始める際は、最初に変数宣言を強制する設定を行うことをお勧めします。
設定方法は、以下の通り。
VB Editorのメニューから、「ツール」-「オプション」を選択します。
「編集」タブの、「変数の宣言を強制する」にチェックを付けて、「OK」をクリックします。
この設定を行った以降、新規にモジュールが作成されるときに、コードの冒頭に「Option Explicit」と言うステートメントが自動で設定されます。
このステートメントにより、変数宣言が強制される設定になります。
ただし、すでに作成されていたモジュールに関しては、自動で追加されません。
その場合は、手動で書き加えて下さい。
コメント 0