|
Do...LoopステートメントはWhile...Wendステートメントと似ていますが、While...Wendステートメントは条件式をループの最初にしか指定できないのに対して、Do...Loopステートメントはループの最初または最後に条件式を指定できます。また、条件式が正しい間繰り返すのか、条件式が正しくなるまで繰り返すのかを指定できます。
Whileを使うと条件式が正しい間繰り返され、Untilを使うと条件式が正しくなるまで繰り返されます。構文1と構文2のどちらで記述しても結果は同じです。 実行されてから10秒経過するとメッセージを出します。実行中はステータスバーに経過秒数を示します。下の2つとも結果は同じになります。 Sub Sample1() Dim i i = Timer Do While Timer - i < 10 Application.StatusBar = Timer - i Loop Application.StatusBar = False MsgBox "10秒経過しました" End Sub Sub Sample2() Dim i i = Timer Do Until Timer - i >= 10 Application.StatusBar = Timer - i Loop Application.StatusBar = False MsgBox "10秒経過しました" End Sub 「Timer」は午前0時から経過した秒数を返す関数です。 |