VBScriptにおける「Do – Loop While」文の使い方を解説します。
はじめに
VBScriptで使用出来る While系の構文ですが、以下のように様々なものがあります。
本記事では、「Do – Loop While」文の使用方法について説明します。
- While – Wend
- Do While – Loop
- Do Until – Loop
- Do – Loop While
- Do – Loop
では、実際に書式やサンプルを見ていきましょう。
書式
Do – Loop While文の書式です。
他のループ文とは違い、ループ内の後に、繰り返し条件を記述します。
Do 処理 Loop While(条件式)
こちらの Do – Loop While文は、条件式が真(True)なら、ループ処理が続けられます。
条件式が偽(False)となったタイミングで、ループが終了します。
>初めから、偽(False)の場合でも、1度だけループ内の処理が実行されます。
サンプル
以下は、ループ回数を表示しつつ、指定した回数分ループするサンプルになります。
Option Explicit
' ループを終了する回数
Const LOOP_END = 5
' ループの回数
Dim loop_count
Do
loop_count = loop_count + 1
WScript.Echo("ループ回数:" & loop_count)
Loop While(loop_count < LOOP_END)
サンプルの実行結果になります。
ループ回数:1 ループ回数:2 ループ回数:3 ループ回数:4 ループ回数:5
初めから条件を満たさない場合の例
以下は、初めから条件を満たさない(一度も条件を満たさない)場合のサンプルです。
Option Explicit
' ループを終了する回数
Const LOOP_END = 5
' ループの回数
Dim loop_count
Do
loop_count = loop_count + 1
WScript.Echo("ループ回数:" & loop_count)
Loop While(loop_count = LOOP_END)
サンプルの実行結果になります。
Do – Loop While文の特徴である「条件を満たさない場合でも、1度だけ処理が実行される」が正しく動いていることが分かります。
ループ回数:1
ループから抜ける
ここでは、ループから抜ける方法を説明します。
ループを抜けるには、「Exit Do」と記述します。
以下は、ループの3回目で、ループを抜けるサンプルになります。
Option Explicit
' ループを終了する回数
Const LOOP_END = 5
' ループの回数
Dim loop_count
Do
loop_count = loop_count + 1
WScript.Echo("ループ回数:" & loop_count)
If(loop_count = 3)Then
' ループを抜ける
Exit Do
End If
Loop While(loop_count < LOOP_END)
サンプルの実行結果になります。
ループ回数:1 ループ回数:2 ループ回数:3
無限ループ
ここでは、無限ループさせる方法を説明します。
方法は簡単で、条件式を「(True)」と記述するだけです。
しかし、もう1つ重要なポイントがあります。
それは、ループから抜ける処理を記述するということです。
でなければ、永遠にループから抜けれず処理が終わりません。
以下が、サンプルのソースコードになります。
条件式は常に真(True)となり、ループ内で、3周目でループから抜ける処理を実行しています。
Option Explicit
' ループを終了する回数
Const LOOP_END = 5
' ループの回数
Dim loop_count
Do
loop_count = loop_count + 1
WScript.Echo("ループ回数:" & loop_count)
If(loop_count = 3)Then
' ループを抜ける
Exit Do
End If
Loop While(True)
記事は以上になります。
冒頭にも書きましたが、Do – Loop While文は条件に関わらず、必ず1度は処理を実行するという特徴があります。最低1回は処理を実行したい場合などに使用するといいでしょう。
コメント