當條件為 True 時或條件變?yōu)?True 之前重復執(zhí)行某語句塊。
Do [{While | Until} condition] [statements] [Exit Do] [statements] Loop
也可以使用下面的語法:
Do [statements] [Exit Do] [statements] Loop [{While | Until} condition]
Exit Do 僅可以用在 Do...Loop 控制語句中,提供另一種退出 Do...Loop 的方法?梢栽 Do...Loop 語句中的任何位置放置任意個 Exit Do。Exit Do 通常與條件判斷語句(如 If...Then )一起使用,將控制傳遞給緊隨在 Loop 語句后面的語句。
當用于嵌套 Do...Loop 中的時候,Exit Do 將控制傳遞給其所在循環(huán)的上一層嵌套循環(huán)。
下面例子舉例說明如何使用 Do...Loop 語句:
Do Until
DefResp = vbNo MyNum = Int (6 * Rnd + 1) ' 產(chǎn)生 1 到 6 之間的隨機數(shù)。 DefResp = MsgBox (MyNum & " 想要另一個數(shù)嗎?", vbYesNo) Loop Dim Check, Counter Check = True: Counter = 0 ' 初始化變量。Do
' 外層循環(huán)。Do While
Counter < 20 ' 內(nèi)層循環(huán)。 Counter = Counter + 1 ' 增加計數(shù)器。 If Counter = 10 Then ' 如果條件為 True... Check = False ' 將標志值設(shè)置為 False。Exit Do
' 終止內(nèi)層循環(huán)。 End If LoopLoop Until
Check = False ' 立即終止外層循環(huán)。