分かりやすく、使いやすく。

配列の要素を1つずつ処理する

スポンサーリンク

VBScript で配列の各要素を 1 つずつ処理するにはループ文を使用します。LBound 関数と UBound を使用することで、インデックスの最小値と最大値を取得することができるので、次のサンプルコードのように For ですべての要素を処理できます。

VBScript(実行可能なサンプルコード)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Option Explicit
 
'サイズ5(最大インデックス4)の配列を宣言
Dim strNames(4)
Dim strMessage
Dim i
 
'配列の各要素に値を代入
strNames(0) = "太郎"
strNames(1) = "次郎"
strNames(2) = "三郎"
strNames(3) = "四朗"
strNames(4) = "五郎"
 
'LBound → 配列のもっとも小さいインデックスを返します。
'UBound → 配列のもっとも大きいインデックスを返します。
For i = LBound(strNames) To UBound(strNames)
  '配列の要素を1つずつ取り出します。
  strMessage = strMessage & (i + 1) & "人目の名前は" & strNames(i) & vbCrLf
Next
 
'「1人目の名前は太郎
' 2人目の名前は太郎
' 3人目の名前は太郎
' 4人目の名前は太郎
' 5人目の名前は太郎
' 」
' と表示されます。
' 最後に余計な改行を付けたくない場合は、最大インデックスの場合は改行コードを
' つけないようにする if 文を入れるなど工夫が必要です。
MsgBox strMessage 
スポンサーリンク