VBScriptを使ううえで必須となる配列について解説する。また、配列を操作するための関数やステートメントについても取り上げる。
前回は、VBScriptを学ぶうえで避けて通れない、データ型の概念とそれぞれのデータ型の使用方法について詳説した。今回は、やはりVBScriptの重要要素である「配列」について、その概念と使用方法について述べるとともに、配列と併用することが多いステートメントや関数についても取り上げる。
■連載目次
第1回 WSHを始めよう
第2回 VBScript基本(1)文字列の入出力
第3回 VBScript基本(2)計算と分岐処理
第4回 関数を使いこなす:文字列、数値、日付
第5回 データ型について理解を深めよう
第6回 VBScriptの配列を極める
第7回 Subプロシージャで処理を定義
第8回 Functionプロシージャで関数を定義
第9回 VBScriptのオブジェクトを使いこなす
第10回 WScriptオブジェクト(1)
第11回 WScriptオブジェクト(2)
第12回 WshShellオブジェクト(1)
第13回 WshShellオブジェクト(2)
第14回 WshShellオブジェクト(3)
第15回 WshNetworkオブジェクト
第16回 FileSystemObjectオブジェクト(1)
第17回 FileSystemObjectオブジェクト(2)
第18回 FileSystemObjectオブジェクト(3)
第19回 TextStream/Dictionaryオブジェクト
配列とは、同じ型のデータを連続して並べたものである(*)。変数(配列変数と区別して単なる変数は「スカラ変数」という)が1個の値を格納するものだったのに対し、配列は、複数の値を格納することができる。言葉では分かりにくいかもしれないが、次に示す図を見ていただければ分かるだろう。
* 前回説明したとおり、VBScriptで扱うデータ型はバリアント型ただ1つなので、VBScriptにおける配列はすべてバリアント型の配列、バリアント配列である。
このように、変数がただ1つの値を格納できる箱だったのに対し、配列は、(1つの)値を格納できる箱が複数つながったもの、と考えることができる。VBScriptにおいて、この図のような5個の値が格納可能な配列を宣言するには次のように記述する。
Option Explicit
Dim a(4)
このように記述すると、a(0)、a(1)、a(2)、a(3)、a(4)の5個の値が格納可能な配列を宣言したことになる。これらの値にはそれぞれEmpty値が格納されている。“(0)”の部分を、添え字といい、配列における要素の位置を示す。また“0”の部分をインデックスという。VBScriptの配列のインデックスは、常に0から始まるということに注意していただきたい。つまり、インデックスの最大数は、実際の配列のサイズより1小さいということである。このような配列を「固定サイズ配列」という。
なお、配列変数の命名にもスカラ変数と同様、
という制約があるので注意してほしい。
配列に値を代入したり、代入した値を参照したりする例を次に示す。
Option Explicit
Dim intNumbers(4) 'サイズ5の配列を宣言
'配列の各要素に値を代入
intNumbers(0) = 0
intNumbers(1) = 2
intNumbers(2) = 4
intNumbers(3) = 6
intNumbers(4) = 8
'3つ目の値を参照
MsgBox "3つ目の値は" & intNumbers(2) & "です。"
このスクリプトを実行すると次のようなメッセージ・ボックスが表示される。
この例では、インデックスの2倍の数値を配列のそれぞれの要素として格納し、3つ目の要素(添え字は“(2)”になることに注意)の値を取り出し、MsgBox関数を使って表示している。
Copyright© Digital Advantage Corp. All Rights Reserved.