VBSプログラミング最初の一歩 VBScript

配列の連結

配列の1番に10、2番に20、3番に30・・10番に100を入れたものを使って今度は中身を画面に出してみましょう。単純に考えるなら

for i=1 to 10
	MsgBox hairetu(i)
next

となります。しかし、この場合には一回で一個の要素しか画面に出てきません。この配列は10個の要素があるので10回もOKを押さなくてはなりません。そこで配列の要素を一つの文字列にして、それを一回のMsgBoxで出すようにしてみましょう。

str = ""

for i=1 to 10
	str = str &  hairetu(i) & " "
next

MsgBox str

まず、strという変数に "" つまり空欄の文字列を入れておきます。そして、for文の中でそれに配列の各要素を連結していきます。文字列の連結ですから & を使います。

ここでもし、

str = str & hairetu(i)

としていたら、全数字がつながって出てきます。つまり、102030405060708090100 となるわけです。
これでは困るので要素の後に空白を一個入れるようにしました。それで

str = str & hairetu(i) & " "

になったわけです。そしてできあがったstrをMsgBoxで表示しています。

しかし、実はこのようなプログラムを自分で書かなくてもJoinという関数を使えばすぐに同じことが実現できます。

str = Join(hairetu)

MsgBox str

配列の全要素を連結して一つの文字列にすることはよく使われるので、Joinというすぐに出来る命令が最初から内蔵されているのです。しかし、自分でも同じことが出来るようになっておくべきでしょう。

問題8-4
配列の1番に「今日は」、2番に「晴れ」、3番に「でした」と入れ、その内容を連結して表示しよう。