Module
Contents
Index 🔎︎

# 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