Do ループは、決まったステートメント ブロックを不定数回実行する場合に使用できます。
Do Loop の形式 | 説明 | 例 |
---|---|---|
Do While ... Loop | Do While ...Loop は、条件(condition)が評価され、条件が真の場合は条件に続くステートメント(statements)が評価されます。
その評価が完了すると、条件が再び評価され、条件が真の場合は、再びステートメントが評価されます。 条件が偽となるまで、この処理が繰り返されます。 |
Do While 条件ステートメント Loop |
Do Until ...Loop | Do Until ...Loop は Do While ...Loop に似ていますが、条件(condition)が真である限り継続されるのではなく、条件が真になるまでステートメント(statements)の評価が継続されます。 |
Do Until 条件ステートメント Loop |
Do ...Loop While | Do ...Loop While は、ステートメント(statements)を 1 度評価します。
次に条件(condition)が評価され、条件が真の場合は、ステートメントが再び評価されます。条件が偽となるまで、この処理が繰り返されます。 |
Doステートメント Loop While 条件 |
Do ...Loop Until | 条件(condition)が真となるまでステートメント(statements)が評価される点以外は、Loop While と同じです。 |
Doステートメント Loop Until 条件 |
注 Do ループは、ループから直ちに抜けるための Exit Do ステートメントをサポートしています。Exit Do ステートメントは For/Next ループの中の Exit For に似ています。
Do While ...Loop 式の例
次の例では、入力文字列内に現れる最初の数字を検索します。数字が見つかった場合はその位置を返し、見つからなかった場合は -1 を返します。この例の場合、入力文字列には明示的に文字列定数が設定されていますが、文字列型のデータベース フィールドを代入することもできます。
この例では、入力文字列 "The 7 Dwarves" に対して、式は 5 を返します。これは数字 7 の位置です。
Dim inString inString = "The 7 Dwarves" Dim i, strLen i = 1 strLen = Len (inString) formula = -1 Do While i <= strLen And formula = -1 Dim c As String c = Mid (inString, i, 1) If IsNumeric (c) Then formula = i i = i + 1 Loop