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