Conteúdo
Índice 🔎︎

# Instrução Do...Loop

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

## Sintaxe

Do [{While | Until} condition = True]

statement block

[Exit Do]

statement block

Repetição

ou

Do

statement block

[Exit Do]

statement block

Loop [{While | Until} condition = True]

## Parâmetros/Elementos

Condition: expressão de comparação, numérica ou de cadeia de caracteres que avalia se é Verdadeira ou Falsa.

Statement block: instruções que você deseja repetir enquanto ou até que a condição seja Verdadeira.

A instrução Do...Loop executa uma repetição enquanto (ou até que) uma condição seja Verdadeira. A condição para o encerramento da repetição deve ser inserida após as instruções Do ou Loop. Os exemplos a seguir são combinações válidas:

## Sintaxe

Do While condition = True

...statement block

Repetição

O bloco de comandos entre as instruções Do While e Loop será repetido enquanto a condição for Verdadeira.

Do Until condition = True

...statement block

Repetição

O bloco de comandos entre as instruções Do Until e Loop será repetido enquanto a condição for Falsa.

Do

...statement block

Loop While condition = True

O bloco de comandos entre as instruções Do e Loop será repetido enquanto a condição for Verdadeira.

Do

...statement block

Loop Until condition = True

O bloco de comandos entre as instruções Do e Loop será repetido até que a condição seja Verdadeira.

Use a instrução Exit Do para finalizar incondicionalmente a repetição. Você pode adicionar essa instrução em qualquer posição de uma instrução Do...Loop. Você também pode definir uma condição de finalização usando a estrutura If...Then da seguinte forma:

Do...

instruções

If condition = True Then Exit Do

statements

Repetição…

## 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