Módulo
Conteúdo
Índice 🔎︎

# Instrução Do...Loop

Repete as instruções entre as instruções Do e Loop enquanto a condição for True ou até que se torne True.

## Sintaxe

    Do [{While | Until} condição = True]

bloco de instruções

    [Exit Do]

bloco de instruções

    Loop

ou

    Do

bloco de instruções

    [Exit Do]

bloco de instruções

    Loop [{While | Until} condição = True]

## Parâmetros/Elementos

Condição: uma comparação, expressão numérica ou expressão em caracteres, que calcule True ou False.

Bloco de instruções: instruções que deseje repetir enquanto ou até que a condição seja True.

A instrução Do...Loop executa um ciclo desde que uma certa condição seja True, ou até que o seja. A condição para sair do ciclo terá de ser inserida a seguir à instrução Do ou Loop. Os seguintes exemplos são combinações válidas:

## Sintaxe

    Do While condição = True

...bloco de instruções

    Loop

O bloco de instruções entre as instruções Do While e Loop repete-se enquanto a condição for verdadeira.

    Do Until condição = True

...bloco de instruções

    Loop

O bloco de instruções entre as instruções Do Until e Loop repete-se enquanto a condição for falsa.

    Do

...bloco de instruções

    VLoop While condição = True

O bloco de instruções entre as instruções Do e Loop repete-se enquanto a condição for verdadeira.

    Do

...bloco de instruções

    Loop Until condição = True

O bloco de instruções entre as instruções Do e Loop repete-se até que a condição seja verdadeira.

Utilize a instrução Exit Do para terminar incondicionalmente o ciclo. Pode adicionar esta instrução em qualquer local de uma instrução Do...Loop. Também pode definir uma condição de saída, utilizando a estrutura If...Then da forma que se segue:

    Do...

instruções

    If condição = True Then Exit Do

instruções

    Loop...

## Exemplo

    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