変数宣言の強制について学ぼう
これまでのサンプルコードでは「変数」が出てきていましたが、今回は「変数宣言の強制」について学習します。
まず、変数についておさらいです。
変数とは「プログラム内で使われる一時的な入れ物」ですね。
これまでのサンプルプログラムでは、必ず冒頭で「Dim 変数名」という形式で変数の宣言をしてきました。
ただ、実は変数は宣言をしなくても使えます。
具体的なサンプルコードは以下です。
InputVal = Inputbox("はじめましてと入力してください。") If InputVal = "はじめまして" Then msgbox "上手に入力できましたね。" Else msgbox "上手く入力できませんでしたね。" End If
前回のプログラムで、冒頭の変数の宣言部分だけを外しました。
これをいつものように実行してみてください。
あれっ、普通に動きましたね。
そうなんです。
VBScriptでは、宣言されていなくても自動的に変数として扱ってくれるのです。
一見便利に見えますが、例えばプログラム記述の誤字を勝手に変数として扱ってしまい、不具合の温床になります。
上記のサンプルプログラムで言えば「msgbox」を「msgbax」と書いてしまうと、msgbaxという変数として勝手に解釈されて、エラーが発生します。
VBScriptでは、変数の宣言をおこなわないまま使用することを禁止することが出来ます。
やり方は以下の一行をプログラムの一番先頭に記述します。
Option Explicit
これを先頭に記述することで、変数の宣言をしないままプログラムを実行しようとすると、エラーを出してくれるようになります。
本当に軽微なプログラムであれば変数の強制は必須ではありませんが、ある程度複雑なプログラムを作成する場合は、必ず宣言の強制を行うようにしましょう。
前回のサンプルプログラムで変数の強制を加えたサンプルプログラムは以下です。
Option Explicit Dim InputVal InputVal = Inputbox("はじめましてと入力してください。") If InputVal = "はじめまして" Then msgbox "上手に入力できましたね。" Else msgbox "上手く入力できませんでしたね。" End If
例えば上記の例で記述した通り、msgboxの命令文をわざと書き間違えてみて、Option Explicitの記述があるときとないときでどの様に挙動が変わるかを実験してみてください。
今日の「変数宣言の強制」は今後VBScriptを学んでいくうえで、地味ですがとても重要な技術なので、しっかり理解してもらいたいです。
では、また次回もよろしくお願いします。
↓次回の記事はこちら

VBScriptでプログラミングの基礎を学ぼう8【関数】
関数について学ぼう
久々の更新です。
今回は「関数」について説明していきます。
「関数」は数学でも出てきま...
↓前回の記事はこちら

VBScriptでプログラミングの基礎を学ぼう6【条件分岐】
条件分岐について学ぼう
今回は条件分岐について学習していきます。
前回もお話をしましたが、プログラムは上から下に...
↓Windows10環境で文字化けする場合はこちら
Windows10環境で文字化けする場合は
Windows10のメモ帳の既定の文字コードは、Windows10のバージョン1903から「UTF-8」になりました。
VBScriptはUTF-8に対応していない為、アルファベットは問題ないのですが、日本語については文字化けします。
その為、Windows10の場合はファイルを保存する場合に、文字コードを「ANSI」に変更して保存してください。
