Do 循环可用于不确定次数地执行语句的某个固定块。
四种不同类型的 Do 循环
Do 循环的类型
|
解释
|
示例
|
|---|---|---|
Do While ... Loop
|
Do While ... Loop 对条件求值,如果条件为真,则对条件后面的语句求值。 完成上述操作后,再次对条件求值,如果条件为真,则再次对语句求值。 它不断重复该过程,直到条件为 false 时为止。 |
Do While condition statements Loop |
Do Until ... Loop
|
Do Until ... Loop 与 Do While ... Loop 相似,不同的是它持续对语句求值直到条件为真时为止,而不是在条件为真时进行求值。 |
Do Until condition statements Loop |
Do ... Loop While
|
Do ... Loop While 只对语句求值一次。 然后对条件求值,如果条件为真,则再对语句求值。该过程持续进行,直到条件为 false 时为止。 |
Do statements Loop While condition |
Do ... Loop Until
|
与 Do ... Loop While 相似,不同的是它对语句求值直到条件为真时为止。 |
Do statements Loop Until condition |
注意 |
|---|
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
注意