VBScript - 変数を宣言する | Dim ステートメント
とある内容をメモリに保存しておきたい場合に変数を使う。
たとえば変数には、何かを計算した結果やユーザーが入力した内容を入れておくことができる。
変数の宣言
VBScript では `Dim` ステートメントで変数を宣言する。
varName の部分が変数名である。命名規則に従うこと。
Dim varName
複数宣言するときは次のようにカンマで区切る。
Dim varNameA, varNameB
変数のデータ型はバリアント型(Variant)、初期値は `Empty` となる。
(Empty は変数が初期化されていないことを示すキーワード)
暗黙的な変数宣言を避ける
VBScript では、スクリプト内で変数名を書くと自動で変数が作られる。
これを暗黙的な変数宣言と言う。
しかし、暗黙的な変数宣言は避けた方が良い。
変数名の入力ミスに気付けなくなるからである。
たとえば変数 var を間違えて bar と入力した場合、bar という変数が作られてしまう。
Option Explicit ステートメントを使うと、暗黙的な変数宣言を禁止できる。
(暗黙的な変数宣言を禁止=明示的な変数宣言を強制)
明示的な変数宣言を強制するには、Option Explicit をスクリプト内のどのステートメントよりも前に記述する。
Option Explicit
'宣言してから使うのはOK
Dim var
var = 10
'宣言しないのはNG。エラーになる(実行時エラー: この変数は宣言されていません。)
bar = 10
変数の命名規則
変数名は以下の規則に従って付ける。
先頭文字はアルファベットであること
ピリオドを使わないこと
255文字(半角の場合)以内であること
変数の適用範囲内で同じ名前の変数を複数宣言しないこと
変数の適用範囲
変数の適用範囲は、変数を宣言した位置で決まる。
適用範囲には次の2つがある。
プロシージャレベル
スクリプトレベル
プロシージャレベルはプロシージャ内部で宣言した変数に適用される。
その変数を宣言したプロシージャ内でのみ有効となる。
スクリプトレベルはプロシージャ外部で宣言した変数に適用される。
スクリプト全体で有効となる。
変数の有効期間
プロシージャレベルとスクリプトレベルで変数の有効期間が異なる。
プロシージャレベルはプロシージャ内にいる間のみ有効。
変数を宣言したプロシージャを開始したときに始まり、プロシージャが終了したときに終わる。
プロシージャの途中で変数を宣言していても、プロシージャの開始時から有効になるので留意する。
スクリプトレベルは、スクリプトで宣言されてからスクリプトが終了するまでの間、有効となる。
この記事が気に入ったらサポートをしてみませんか?