VBS For文のサンプル(VBScript)

VBSのFor文のサンプルです。処理を繰り返すループ処理で使用します。

目次

For文 For文とは / For文のサンプル / For文で配列の値を取得 / Step(増減値)
Exit For ループを抜ける(Exit For)
(continue) ループで処理をスキップする
For Each文 For Each文(ループで加算を使用しないfor文)

For文とは

For 変数 = 開始値 To 終了値 (Step 増値)
    実行される処理
Next
  • 処理を繰り返す時に使用します。最初にforを書くのでfor文と呼ばれます。
  • 変数が開始値から終了値の範囲内の間、繰り返します。
  • 「Step 増値」を省略した場合は、増値=1になります。

For文のサンプル

For a = 1 To 5
	WScript.Echo(a)'1 2 3 4 5が出力される
Next

For a = 5 To 1 Step -1
	WScript.Echo(a)'5 4 3 2 1が出力される
Next

1行目は、1から5までの処理を繰り返します。
5行目は、step -1を指定することで降順になります。

For文で配列の値を取得

Dim color
color = Array("赤", "黄", "青") '配列

For a = 0 To UBound(color)
	WScript.Echo(color(a)) '赤 黄 青が出力される
Next

2行目は、配列です。
4行目のUBoundは、配列の添字の最大値を返します。この場合は2を返します。
5行目は、変数と添字で配列の値を表示しています。

Step(増減値)

Stepで増減値を指定できます。

For a = 1 To 10 Step 2
	WScript.Echo(a) '1 3 5 7 9が出力される
Next

For a = 10 To 1 Step -2
	WScript.Echo(a) '10 8 6 4 2が出力される
Next

1行目は、Step 2なのでループ変数の値が2つずつ増加します。
5行目は、Step-2なのでループ変数の値が2つずつ減少します。

ループを抜ける(Exit For)

For a = 1 To 5
	If (a = 3) Then
        Exit For
    End If
    WScript.Echo(a) '1 2が出力される
Next

3行目は、Exit Forを使用してループ処理から抜けています。

ループで処理をスキップする

vbsには他言語にあるcontinueがありません。
そのためdo-loop文を使って同じような動きをさせます。

For a = 1 To 5
	Do
		If a = 3 Then Exit Do
		WScript.Echo(a)  '1 2 4 5が出力される
	Loop While False
Next

2,5行目は、do-loop文で1回のみ処理します。
3行目は、if文の条件が一致した時do-loop文を抜けます。

For Each文(ループで加算を使用しないfor文)

For  Each  変数  In  コレクションや配列
    実行される処理
Next
  • 処理を繰り返したいときに使用します。
  • コレクションの数や配列の値の数分処理を繰り返します。
Dim color
color = Array("赤", "黄", "青") '配列

For Each a In color
	WScript.Echo(a) '赤 黄 青が出力される
Next

2行目は、配列です。
4行目は、For Each文で配列の値の数分処理を繰り返します。

関連の記事

VBS if文のサンプル(VBScript)
VBS 配列のサンプル(VBScript)

△上に戻る