動的な配列を使用する
VBScript では、静的変数と動的変数がサポートされています。 静的変数とは一般的な配列で、宣言時にサイズを指定して VBScript ではその分領域を確保します。 それに対して動的配列は、実行時に配列のサイズを変更できる動的な配列のを事をそう呼びます。
動的配列を使用する際は、変数の宣言時にサイズを指定しません。 実際に配列の領域を確保するには 「ReDim」 ステートメントを使用します。 下記では 0〜9の 10個要素を持つ配列を作成して、その後で 0〜19の 20個要素を持つ配列を作成します。
Dim Arr() '# サイズを宣言しない
ReDim Arr(9) '# 配列サイズを10に設定
For cnt = 0 To 9
Arr(cnt) = cnt
Next
ReDim Arr(19) '# 配列サイズを20に設定
For cnt = 10 To 19
Arr(cnt) = cnt
Next
上記のサンプルで注意したいのは、ReDim ステートメントを実行した時点で配列が初期化されてしまう点です。 つまり上記の1回目で設定した 0〜9の要素の内容は消えてしまいます。
配列の内容を保持しながらサイズを変更したい場合には ReDimステートメントに 「Preserve 」 キーワードを付加します。 これにより、内容を保持したままサイズの変更が出来ます。
Dim Arr() '# サイズを宣言しない
ReDim Arr(9) '# 配列サイズを10に設定
For cnt = 0 To 9
Arr(cnt) = cnt
Next
ReDim Preserve Arr(19) '# 内容を保持したまま配列サイズを20に設定
For cnt = 10 To 19
Arr(cnt) = cnt
Next
|