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