Contents
Index 🔎︎

# 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