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