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