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