Spis treści
Indeks 🔎︎

# Instrukcja Do...Loop

Powtarza instrukcje zawarte pomiędzy instrukcjami Do i Loop, jeśli podany warunek ma wartość True (prawda) lub aż przyjmie wartość True (prawda).

## Składnia

Do [{While | Until} warunek = True]

blok instrukcji

[Exit Do]

blok instrukcji

Loop

lub

Do

blok instrukcji

[Exit Do]

blok instrukcji

Loop [{While | Until} warunek = True]

## Parametry/elementy

Warunek: Porównanie, wyrażenie numeryczne lub w postaci ciągu o wartości True (prawda) lub False (fałsz).

Blok instrukcji: Instrukcje, które mają być powtarzane, jeśli warunek ma wartość True (prawda) lub aż przyjmie wartość True (prawda).

Instrukcja Do...Loop wykonuje pętlę tak długo (lub aż do momentu) jak warunek ma wartość True (prawda). Warunek opuszczenia pętli należy wprowadzić po instrukcji Do lub Loop. Poniżej przedstawiono poprawne przykłady pętli:

## Składnia

Do While warunek = True

...blok instrukcji

Loop

Blok instrukcji pomiędzy instrukcjami Do While i Loop jest powtarzany dopóki warunek jest prawdziwy.

Do Until warunek = True

...blok instrukcji

Loop

Blok instrukcji pomiędzy instrukcjami Do Until i Loop jest powtarzany dopóki warunek jest fałszywy.

Do

...blok instrukcji

Loop While warunek = True

Blok instrukcji pomiędzy instrukcjami Do i Loop jest powtarzany dopóki warunek jest prawdziwy.

Do

...blok instrukcji

Loop Until warunek = True

Blok instrukcji pomiędzy instrukcjami Do i Loop jest powtarzany dopóki warunek jest fałszywy.

W celu bezwarunkowego zakończenia pętli można użyć instrukcji Exit Do. Można ją umieścić w dowolnym miejscu wewnątrz struktury Do...Loop. Warunek wyjścia z pętli można także zdefiniować za pomocą struktury If...Then:

Do...

instrukcje

If warunek = True Then Exit Do

instrukcje

Loop...

## Przykład

    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