メイン画像

VBScript - 制御構文(繰り返し)

VBScript - 制御構文(繰り返し)


VBScript で、処理を繰り返す方法を説明します。

For…Next

指定された回数だけ、処理を繰り返します。

For counter = start To end [Step step]
    [statements]
    [Exit For]
    [statements]
Next
counter
ループカウンタに使う数値変数。
start
ループカウンタの初期値。
end
ループカウンタの最終値。
ループカウンタがこの値を超えるとループを抜けます。
step
ループを繰り返すごとに、ループカウンタに加算する値。
省略時は 1 。
statements
繰り返す処理。

Exit For を使うとループを途中で終了することができます。
→ Next の直後に制御が渡ります。

For は入れ子にできます。
入れ子にした For で Exit For を使った場合、入れ子にした For の Next の直後に制御が渡ります。
(すべての For を抜けるわけではありません)

For i = 1 To 10
    For j = 1 To 10
        For k = 1 To 10
            Exit For    '←ここで Exit For した場合
        Next
                        '←ここに制御が渡る
    Next
Next

For Each…Next

配列やコレクションの各要素に対して、処理を繰り返します。

For Each element In group
   [statements]
   [Exit For]
   [statements]
Next [element]
element
コレクションや配列の各要素を格納する変数。
group
コレクションや配列。
statements
繰り返す処理。

Exit For の扱いは For…Next と同様です。

Do…Loop

処理を繰り返します。

条件指定の方法は2種類あります。

  • 条件を満たす(True である)間、繰り返す。
  • 条件を満たすまで(True になるまで)の間、繰り返す。

また、条件の評価を先にするか後にするかも指定できます。

条件を先に評価する場合の書き方

Do [{While | Until} condition]
   [statements]
   [Exit Do]
   [statements]
Loop 

条件を後で評価する場合の書き方

処理をしてから条件を評価するため、少なくとも1回は処理が行われることになります。

Do
   [statements]
   [Exit Do]
   [statements]
Loop [{While | Until} condition]
{While | Until}
While にすると条件を満たす(True である)間、処理を繰り返します。
Until にすると条件を満たすまで(True になるまで)の間、処理を繰り返します。
condition
条件式。
Null 値の場合は偽(False)となります。
statements
繰り返す処理。

Exit Do を使うとループを途中で終了することができます。
→ Loop の直後に制御が渡ります。

Do…Loop は入れ子にできます。
入れ子にした Do…Loop で Exit Do を使った場合、入れ子にした Do…Loop の Loop の直後に制御が渡ります。
(すべての Do…Loop を抜けるわけではありません)

While…Wend

条件を満たす(True である)間、処理を繰り返します。

*Do…Loop の使用を推奨します。そちらの方が柔軟に書けるため。

While condition
   [statements]
Wend
condition
条件式。
Null 値の場合は偽(False)となります。
statements
繰り返す処理。

アカウントを作成 して、もっと沢山の記事を読みませんか?


この記事が気に入ったら ことりと さんを応援しませんか?
メッセージを添えてチップを送ることができます。


この記事にコメントをしてみませんか?


酒とアクアリウムが最近の楽しみ。

おすすめの記事