7.1.2 Do...Loop

機能
指定した条件が真(True)である間,または条件が真(True)になるまで,一連のステートメントを繰り返し実行するフロー制御ステートメントです。
形式

Do
Statements
Exit Do
Statements
Loop〔{While | UntilCondition

指定項目
Statements
Conditoinが真(True)である間,またはConditoinが真(True)になるまで繰り返し実行される一つ,または複数のステートメントを指定します。複数のステートメントを記述する場合は,ステートメントごとに改行します。
Condition
真(True),または偽(False)を評価する条件式を指定します。
説明
キーワードWhileが記述されている間はConditionが真(True)である間,一連のステートメントが繰り返し実行され,キーワードUntilが記述されている場合はConditionが真(True)になるまで,一連のステートメントが繰り返し実行されます。
Exit Doステートメントは,制御構造Do ...Loop内だけで使われ,Conditionで指定した以外の条件でDo ...Loopを終了させることができます。Exit Doステートメントは,Do ...Loop内の任意の場所に何回でも指定できます。Exit Doは条件の評価(例えばIf...Thenステートメントなど)とともに使われることが多く,Loopステートメントの直後のステートメントに制御を渡します。
Do ...Loopステートメントはネスト(入れ子)構造にできます。つまり,Do ...Loopの内部に別のDo ...Loopを記述できます。ネスト構造の場合にExit Doが実行されると,そのExit Doを囲んでいる最も内側のループから抜け出します。
Do ...LoopステートメントはWhile...Endステートメントとは異なり,一連のステートメントが必ず一度は実行される後判定の制御構造しています。一連のステートメントが実行される前に条件の判定を行いたい場合は, While...Endステートメントを使用してください。

' Reverseは文字列を反転した値を返す。
' resultには"EDCBA"が格納される。
result = Reverse ( "ABCDE" )
MessageBox ( result )

Function  Reverse ( chrValue )
 Dim  chrString ,chrLength
 cnt = 0
 chrLength = Len ( chrValue )
 Do
     chrString = chrString + Mid ( chrValue ,chrLength - cnt , 1 )
     cnt = cnt + 1
 Loop While ( cnt < chrLength )
 Reverse = chrString
End Function

対象バージョン
JP1/Script 05-10以降