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