Інструкція Do...Loop

Повторює інструкції між інструкцією 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

Ділянка програми між інструкціями та Loop Do повторюється, поки умова істинна.

Do

...блок інструкцій

Loop Until Умова = True

Ділянка програми між інструкціями та Loop Do повторюється, поки умова не стане істинною.

Інструкція 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