Module
Contents
Index 🔎︎

# Do...Loop Statement

Lặp lại những câu lệnh nằm giữa câu lệnh Do (làm) và câu lệnh Loop (vòng lặp) trong khi điều kiện là Đúng, hoặc đên khi điều kiện trở thành Đúng.

## Cú pháp

    Do [{While | Until} condition = True]

khối câu lệnh

    [Exit Do]

khối câu lệnh

    Vòng lặp

hoặc

    Do

khối câu lệnh

    [Exit Do]

khối câu lệnh

    Loop [{While | Until} condition = True]

## Tham số/Phần tử

Điều_kiện : một biểu thức kiểu so sánh, thuộc số hay chuỗi mà ước tính là hoặc Đúng hoặc Sai.

Khối câu lệnh : những câu lệnh bạn muốn lặp lại trong khi hoặc đến khi điều kiện là Đúng.

Câu lệnh Do...Loop (làm...vòng lặp) thực hiện một vòng lặp miến là, hoặc đến khi một điều kiện nào đó là Đúng. Điều kiện thoát phải được nhập vào phía sau câu lệnh kiểu Do hay Loop. Những mẫu thí dụ theo đây là tổ hợp đúng:

## Cú pháp

    Do While condition = True

...khối câu lệnh

    Vòng lặp

Khối câu lệnh nằm giữa hai câu lệnh Do While (làm trong khi) và Loop (vòng lặp) được lặp lại miễn là điều kiện là Đúng.

    Do Until condition = True

...khối câu lệnh

    Vòng lặp

Khối câu lệnh nằm giữa hai câu lệnh Do Until (làm đến khi) và Loop (vòng lặp) thì được lặp lại nếu/miễn là điều kiện là Sai.

    Do

...khối câu lệnh

    Loop While condition = True

Khối câu lệnh nằm giữa hai câu lệnh Do (làm) và Loop (vòng lặp) thì lặp lại miễn là điều kiện là Đúng.

    Do

...khối câu lệnh

    Loop Until condition = True

Khối câu lệnh nằm giữa hai câu lệnh Do (làm) và Loop (vòng lặp) lặp lại đến khi điều kiện là Đúng.

Hãy dùng câu lệnh Exit Do (thoát làm) để kết thúc tuyệt đối vòng lặp. Bạn có thể thêm câu lệnh này vào bất cứ nơi nào trong một câu lệnh kiểu Do...Loop (làm...vòng lặp). Cũng có thể xác định một điều kiện thoát dùng cấu trúc If...Then (nếu...thì) như theo đây:

    Làm...

câu lệnh

    If condition = True Then Exit Do

câu lệnh

    Vòng lặp...

## Ví dụ :

    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