Do 迴圈可用來無限制地執行陳述式的固定區塊。
Do 迴圈的類型 | 說明 | 範例 |
---|---|---|
Do While ?Loop | Do While ...Loop 會驗算條件,如果條件為 True,就接著驗算條件之後的陳述式。
驗算結束後,此迴圈會繼續驗算條件,而如果條件為 True,又會再次驗算陳述式。 這個程序會繼續重複進行,直到條件為 False 時。 |
Do While conditionstatements Loop |
Do Until ...Loop | Do Until ...Loop 與 Do While ...Loop 類似,不同之處在於 Do Until Loop 會一直進行陳述式的驗算,直到條件驗算結果為 True,而不是當條件為 True 時進行驗算。 |
Do Until conditionstatements Loop |
Do ...Loop While | 不論什麼情況之下,Do ...Loop While 只會驗算一次陳述式。
然後驗算條件,如果條件為 True,則再驗算一次陳述式。這個程序會繼續重複進行,直到條件為 False 時。 |
Dostatements Loop While condition |
Do ...Loop Until | 與 Do ...Loop While 類似,不同之處在於 Do ... Loop Until 在驗算出條件結果為 True 前,都會一直驗算陳述式。 |
Dostatements Loop Until condition |
注意 Do 迴圈支援 Exit Do 陳述式立即跳出迴圈。Exit Do 陳述式與 For/Next 迴圈中的 Exit For 類似。
Do While ...迴圈公式範例
以下的範例會搜尋輸入字串中出現的第一個數字。假如找到數字,會傳回它在字串中的位置,否則會傳回 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