基礎解説

チェック式 WSH入門
―― 演習方式で身につけるWSH超入門 ――

第6回 VBScriptの配列を極める

1.VBScriptのデータ型

Microsoft MVP
Visual Developer - Scripting
牟田口 大介
2006/11/03

Index(全19回)
WSHを始めよう
VBScriptの基本を押さえよう(その1) 文字列の入出力
VBScriptの基本を押さえよう(その2) 計算と分岐処理
関数を使いこなす(その1) 文字列、数値、日付を扱う関数
データ型について理解を深めよう
VBScriptの配列を極める
Subプロシージャでユーザー独自の処理を定義する
Functionプロシージャでユーザー独自の関数を定義する
VBScriptのオブジェクトを使いこなす
WScriptオブジェクトを利用する(1)
WScriptオブジェクトを利用する(2)
WshShellオブジェクトを利用する(1)
WshShellオブジェクトを利用する(2)
WshShellオブジェクトを利用する(3)
WshNetworkオブジェクトを利用する
FileSystemObjectオブジェクトを利用する(1)
FileSystemObjectオブジェクトを利用する(2)
FileSystemObjectオブジェクトを利用する(3)
TextStreamオブジェクトとDictionaryオブジェクトを使う[最終回]

 前回は、VBScriptを学ぶうえで避けて通れない、データ型の概念とそれぞれのデータ型の使用方法について詳説した。今回は、やはりVBScriptの重要要素である「配列」について、その概念と使用方法について述べるとともに、配列と併用することが多いステートメントや関数についても取り上げる。

配列とは

 配列とは、同じ型のデータを連続して並べたものである(*)。変数(配列変数と区別して単なる変数は「スカラ変数」という)が1個の値を格納するものだったのに対し、配列は、複数の値を格納することができる。言葉では分かりにくいかもしれないが、次に示す図を見ていただければ分かるだろう。


* 前回説明したとおり、VBScriptで扱うデータ型はバリアント型ただ1つなので、VBScriptにおける配列はすべてバリアント型の配列、バリアント配列である。

配列の概念図
変数がただ1つの値を格納できる箱だったのに対し、配列は、(1つの)値を格納できる箱が複数つながったものと考えることができる。

 このように、変数がただ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小さいということである。このような配列を「固定サイズ配列」という。

 なお、配列変数の命名にもスカラ変数と同様、

  • 変数名の先頭文字はアルファベット
  • 変数名にはピリオド “.” を使用しない
  • 変数名は255文字以内

という制約があるので注意してほしい。

 配列に値を代入したり、代入した値を参照したりする例を次に示す。

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) & "です。"

 このスクリプトを実行すると次のようなメッセージ・ボックスが表示される。

配列の中の1要素を取り出すスクリプトの実行例
配列から3つ目の値を取り出している。

 この例では、インデックスの2倍の数値を配列のそれぞれの要素として格納し、3つ目の要素(添え字は“(2)”になることに注意)の値を取り出し、MsgBox関数を使って表示している。


 INDEX
  [基礎解説]チェック式 WSH入門
  第6回 VBScriptの配列を極める
  1.配列とは
    2.Forステートメントによる配列の操作
    3.動的配列
    4.多次元配列
    5.配列を操作するための関数
 
 基礎解説

TechTargetジャパン

Windows Server Insider フォーラム 新着記事

@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

RSSフィード

キャリアアップ

- PR -
@IT Sepcial

イベントカレンダー

PickUpイベント

- PR -
もっと見る
- PR -

お勧め求人情報

ホワイトペーパーTechTargetジャパン

@IT Sepcial
ソリューションFLASH