Do...Loop 语句

当条件为 True 时或条件变为 True 之前重复执行某语句块。

Do [{While | Until} condition]
[statements]
[Exit Do]
[statements]
Loop

也可以使用下面的语法:

Do
[statements]
[Exit Do]
[statements]
Loop [{While | Until} condition]

参数

condition

数值字符串表达式,其值为 TrueFalse。如果 conditionNull,则 condition 被当作 False

statements

conditionTrue 时被重复执行的一条或多条命令。

说明

Exit Do 仅可以用在 Do...Loop 控制语句中,提供另一种退出 Do...Loop 的方法。可以在 Do...Loop 语句中的任何位置放置任意个 Exit DoExit Do 通常与条件判断语句(如 If...Then )一起使用,将控制传递给紧随在 Loop 语句后面的语句。

当用于嵌套 Do...Loop 中的时候,Exit Do 将控制传递给其所在循环的上一层嵌套循环。

下面例子举例说明如何使用 Do...Loop 语句:

Do Until DefResp = vbNo
  MyNum = Int (6 * Rnd + 1)      '  产生 1  6 之间的随机数。
  DefResp = MsgBox (MyNum & " 想要另一个数吗?", vbYesNo)
Loop

Dim Check, Counter
Check = True: Counter = 0      ' 初始化变量。
Do            ' 外层循环。
  Do While Counter < 20      ' 内层循环。
    Counter = Counter + 1      ' 增加计数器。
    If Counter = 10 Then      ' 如果条件为 True...
      Check = False         ' 将标志值设置为 False      Exit Do         ' 终止内层循环。
    End If
  Loop
Loop Until Check = False      ' 立即终止外层循环。

要求

版本 1

请参阅

Exit 语句 | For...Next 语句 | While...Wend 语句