VBS 配列のサンプル(VBScript)

VBS(VBScript)の配列のサンプルです。

目次

仕組み 配列とは
  静的配列(要素数を宣言して配列を作成する)
  動的配列(ReDimとPreserve)
  Array関数で配列を作成する
  配列の値をfor文で取得する
  配列の値を変更する

配列とは

a = Array( 値1 , 値2 , 値3 )

上記は複数の値を変数aに代入しています。
この変数aは配列として複数の値を持ちます。

  • 1つの変数で複数の値を保持できます。
  • 各項目を要素(element)といいます。
  • 要素の順序をインデックス(添字)で管理します。上記図では(0)、(1)、(2)、(3)がインデックスです。
  • インデックスの先頭は0から始まります。

静的配列(要素数を宣言して配列を作成する)

Dim arr(2)

arr(0) = 1
arr(1) = 2
arr(2) = 3
'arr(3) = 4 インデックスが有効範囲にありません

WScript.Echo(arr(0))'1
WScript.Echo(arr(1))'2
WScript.Echo(arr(2))'3

1行目は、変数の後のかっこで2を指定しています。
その場合の要素は、3~5行目のようにインデックスは0から2までの3つ入ります。
要素の数が2つではないので注意が必要です。
Javaの場合は、3と宣言したら要素の数は3つです。

動的配列(ReDimとPreserve)

要素数が変わるので動的配列と呼ばれます。

Dim arr()
    
ReDim arr(2)
    
arr(0) = "赤"
arr(1) = "黄"
arr(2) = "青"

ReDim Preserve arr(3)
arr(3) = "オレンジ"

For Each b In arr
    WScript.Echo (b) '赤 黄 青 オレンジ
Next

1行目は、配列の変数を宣言しています。要素数は指定しません。
3行目は、Redimで数値を2にしています。
5~7行目は、値をセットしています。
9行目は、Redim Preserveで数値を3に変更しています。
Preserveは保持するという意味です。Preserveがないと5~7行目の値がクリアされてしまいます。

Array関数で配列を作成する

Dim arr
arr = Array(1, 2, 3)

WScript.Echo arr(0) '1
WScript.Echo arr(1) '2
WScript.Echo arr(2) '3

2行目は、Arrayで配列に値をまとめてセットしています。

配列の値をfor文で取得する

Dim arr
arr = Array(1, 2, 3)

For Each b In arr
	WScript.Echo b '1 2 3
Next

For i = 0 To UBound(arr)
	WScript.Echo arr(i) '1 2 3
Next
WScript.Echo UBound(arr) '2
WScript.Echo LBound(arr) '0

4行目は、For Each文で配列の値の数分処理を繰り返します。
8行目は、For文で配列の値の数分処理を繰り返します。
UBoundは引数の配列の最大のインデックス値を返します。2が返ります。
Lboundは引数の配列の最小のインデックス値を返します。0が返ります。

配列の値を変更する

Dim arr
arr = Array("赤", "黄", "青")

arr(1) = "オレンジ"

WScript.Echo arr(0) '赤
WScript.Echo arr(1) 'オレンジ
WScript.Echo arr(2) '青

4行目は、配列の値を変更しています。
変更したい要素のインデックス(添字)を指定します。

関連の記事

VBS if文のサンプル(VBScript)

△上に戻る