Do...Loop Statement
Toistetaan Do- ja Loop-lauseiden välisiä lauseita niin kauan kuin ehto on tosi tai kunnes ehto tulee tosi-arvoksi.
Syntaksi
Do [{While | Until} ehto = True]
lauselohko1
[Exit Do]
lauselohko1
Loop
tai
Do
lauselohko1
[Exit Do]
lauselohko1
Loop [{While | Until} ehto = True]
Parametrit/osatekijät
Ehto: vertailu-, numeerinen tai merkkijonolauseke, joka saa arvon True tai False.
Lauselohko: lauseet, jotka toistetaan niin kauan (while) tai kunnes (until) ehto on True.
Do...Loop-lausetta suoritetaan silmukassa niin kauan kuin tietty ehto on tosi, tai siihen saakka kun ehto tulee todeksi (True). Silmukasta poistumisehdon pitää seurata Do -lausetta ennen Loop -lausetta. Seuraavassa on esitetty kelvolliset vaihtoehdot:
Syntaksi
Do While ehto = True
...lauselohko
Loop
Lauselohkoa, joka on Do While ja Loop-lauseiden välissä, toistetaan niin kauan kuin ehto on tosi (True).
Do Until ehto = True
...lauselohko
Loop
Do Until ja Loop-lauseiden välistä lauselohkoa toistetaan niin kauan kuin ehto säilyy epätotena (False).
Do
...lauselohko
Loop While ehto = True
Do- ja Loop-lauseiden välistä lauselohkoa toistetaan niin kauan kuin ehto säilyy totena (True).
Do
...lauselohko
Loop Until ehto = True
Do- ja Loop-lauseiden välistä lauselohkoa toistetaan kunnes ehto on tosi (True).
Exit Do-lausetta käytetään ehdottomaan silmukasta poistumiseen. Lauseen voi lisätä mihin vain lauseiden Do...Loop välille. Poistumisehdon voi määrittää myös käyttämällä If...Then -rakennetta seuraavaan tapaan:
Do...
lauseet
If ehto = True Then Exit Do
lauseet
Loop...
Esimerkki
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