Modulo
Contenuto
Indice 🔎︎

# Istruzione Do...Loop

Ripete le istruzioni comprese tra Do e Loop finché la condizione specificata rimane o diventa vera.

## Sintassi

    Do [{While | Until} condizione = True]

blocco istruzioni

    [Exit Do]

blocco istruzioni

    Loop

oppure

    Do

blocco istruzioni

    [Exit Do]

blocco istruzioni

    Loop [{While | Until} condizione = True]

## Parametri/Elementi:

Condizione: espressione di confronto, numerica o a stringa che può essere valutata come vera o falsa.

Blocco istruzioni: istruzioni da ripetere finché la condizione rimane o diventa vera.

L'istruzione Do...Loop esegue un ciclo finché una determinata condizione rimane o diventa vera. La condizione per l'uscita dal ciclo deve essere specificata con l'istruzione Do o Loop. Gli esempi seguenti rappresentano combinazioni valide:

## Sintassi

    Do While condizione = True

...blocco istruzioni

    Loop

Il blocco di istruzioni compreso tra Do While e Loop viene ripetuto finché la condizione rimane vera.

    Do Until condizione = True

...blocco istruzioni

    Loop

Il blocco di istruzioni compreso tra Do Until e Loop viene ripetuto finché la condizione rimane falsa.

    Do

...blocco istruzioni

    Loop While condizione = True

Il blocco di istruzioni compreso tra Do e Loop viene ripetuto finché la condizione rimane vera.

    Do

...blocco istruzioni

    Loop Until condizione = True

Il blocco di istruzioni compreso tra Do e Loop viene ripetuto finché la condizione non diventa vera.

Per terminare il ciclo in modo incondizionato, usate l'istruzione Exit Do. Potete aggiungere questa istruzione in qualunque punto del ciclo Do...Loop. Potete inoltre definire una condizione di uscita usando la struttura If...Then come segue:

    Do...

istruzioni

    If condizione = True Then Exit Do

istruzioni

    Loop...

## Esempio

    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