Module
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