Anweisung Do...Loop
Wiederholt die zwischen den Anweisungen Do und Loop aufgeführten Anweisungen, solange die angegebene Bedingung wahr ist oder bis die angegebene Bedingung wahr wird.
Syntax
Do [{While | Until} Bedingung = True]Befehlsblock
[Exit Do]Befehlsblock
Loopoder
DoBefehlsblock
[Exit Do]Befehlsblock
Loop [{While | Until} Bedingung = True]Parameter/Elemente
Bedingung: Ein Vergleich, numerischer Ausdruck oder Zeichenkettenausdruck, der als True oder False ausgewertet werden kann.
Anweisungsblock: Zu wiederholende Anweisungen, während oder bis die Bedingung erfüllt (True) ist.
Die Anweisung Do...Loop führt eine Schleife so lange aus, wie oder bis eine bestimmte Bedingung erfüllt (True) ist. Die Bedingung zum Verlassen der Schleife muss entweder nach der Anweisung Do oder der Anweisung Loop eingegeben werden. Folgende Beispiele sind gültige Kombinationen:
Syntax
Do While Bedingung = True...Befehlsblock
LoopDer Anweisungsblock zwischen den Anweisungen Do While und Loop wird so lange wiederholt, wie die Bedingung erfüllt ist.
Do Until Bedingung = True...Befehlsblock
LoopDer Anweisungsblock zwischen den Anweisungen Do Until und Loop wird so lange wiederholt, wie die Bedingung nicht erfüllt ist.
Do...Befehlsblock
Loop While Bedingung = TrueDer Anweisungsblock zwischen den Anweisungen Do und Loop wird so lange wiederholt, wie die Bedingung erfüllt ist.
Do...Befehlsblock
Loop Until Bedingung = TrueDer Anweisungsblock zwischen den Anweisungen Do und Loop wird so lange wiederholt, bis die Bedingung erfüllt ist.
Um die Schleife bedingungslos zu verlassen, verwenden Sie die Anweisung Exit Do. Sie können diese Anweisung an einer beliebigen Position innerhalb einer Anweisung Do...Loop einfügen. Sie können eine Abbruchbedingung auch mit einer Struktur If...Then wie folgt definieren:
Do...Befehle
If Bedingung = True Then Exit DoBefehle
Loop...Beispiel
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