VBのDo While文(Do Loop)について
Visual Basic(VB)における Do While文 は、条件が真(True)の間、繰り返し処理を行う制御構文です。条件によってループの継続・終了を判断するため、回数が決まっていない処理に適しています。
Do While文の基本構文(前判定)
Do While 条件式
' 条件がTrueの間繰り返す処理
Loop
例:
Dim i As Integer = 1
Do While i <= 5
Debug.Print("カウント:" & i)
i += 1
Loop
Do Loop While文(後判定)
処理を1回必ず実行し、その後で条件をチェックしたい場合は、次のように記述します。
Dim i As Integer = 1
Do
Debug.Print("カウント:" & i)
i += 1
Loop While i <= 5
条件がFalseになるまで繰り返す
Do Until
または Loop Until
を使うことで、条件がFalseになるまで繰り返す処理も可能です。
Dim total As Integer = 0
Do Until total >= 100
total += 20
Debug.Print("合計:" & total)
Loop
Exit Doでループを途中で抜ける
途中で条件を満たしたときにループを中断したい場合は、Exit Do
を使います。
Dim i As Integer = 1
Do While i <= 10
If i = 5 Then
Exit Do
End If
Debug.Print("i=" & i)
i += 1
Loop
Do WhileとForの使い分け
Do While
は、繰り返しの回数が決まっていない場合や、状態に応じた処理を行いたいときに適しています。For
文は、明確な回数の繰り返しに適しています。
実用例:ユーザー入力が空でない間繰り返す
Dim name As String
Do
name = InputBox("名前を入力してください(空欄で終了)")
If name <> "" Then
MsgBox("こんにちは、" & name & "さん")
End If
Loop While name <> ""
まとめ
Do While文 は、条件を満たしている間、繰り返し処理を行う強力な構文です。前判定
・後判定
を使い分けたり、Exit Do
を活用することで柔軟な制御が可能です。特に繰り返しの終了条件が不明確なときに便利なので、状態に応じた繰り返し処理を行いたい場合は積極的に活用しましょう。