Do...Loop Statement
Повторяет инструкции между инструкцией Do и Loop, пока условие равно True или пока условие не станет равно True.
Синтаксис
Do [{While | Until} Условие = True]
Участок_программы
[Exit Do]
Участок_программы
Loop
или
Do
Участок_программы
[Exit Do]
Участок_программы
Loop [{While | Until} Условие = True]
Параметры/Элементы
Условие. Сравнение, числовое или строковое выражение, которое вычисляется либо как True, либо как False.
Участок_программы. Инструкции, которые нужно повторять, пока условие равно True или пока условие не станет равно True.
Инструкция Do...Loop выполняет цикл, пока определенное условие равно True или пока оно не станет равно True. Условие для выхода из цикла должно быть введено после инструкции Do или Loop. В следующих примерах представлены допустимые комбинации:
Синтаксис
Do While Условие = True
участок_программы
Loop
Участок программы между инструкциями Do While и Loop повторяется, пока условие истинно.
Do Until Условие = True
участок_программы
Loop
Участок программы между инструкциями Do Until и Loop повторяется, пока условие ложно.
Do
участок_программы
Loop While Условие = True
Участок программы между инструкциями Do и Loop повторяется, пока условие истинно.
Do
участок_программы
Loop Until Условие = True
Участок программы между инструкциями Do и Loop повторяется, пока условие не станет истинно.
Инструкция Exit Do используется для безусловного завершения цикла. Эту инструкцию можно добавлять в любое место инструкции Do...Loop. Также можно определить условие выхода, используя структуру If...Then следующим образом:
Do...
инструкции
If Условие = True Then Exit Do
инструкции
Loop...
Пример
Sub ExampleDoLoop
Dim sFile As String
Dim sPath As String
sPath = "c:\"
sFile = Dir$( sPath ,22)
If sFile <> "" Then
Do
MsgBox sFile
sFile = Dir$
Loop Until sFile = ""
End If
End Sub