Do...Loop Statement

์กฐ๊ฑด์ด True์ด๊ฑฐ๋‚˜ ์กฐ๊ฑด์ด True๊ฐ€ ๋  ๋•Œ๊นŒ์ง€ Do ๋ฐ Loop ๋ฌธ ์‚ฌ์ด์˜ ๋ฌธ์„ ๋ฐ˜๋ณตํ•ฉ๋‹ˆ๋‹ค.

๊ตฌ๋ฌธ

Do [{While | Until} condition = True]

๋ฌธ ๋ธ”๋ก

[Exit Do]

๋ฌธ ๋ธ”๋ก

Loop

๋˜๋Š”

Do

๋ฌธ ๋ธ”๋ก

[Exit Do]

๋ฌธ ๋ธ”๋ก

Loop [{While | Until} condition = True]

๋งค๊ฐœ ๋ณ€์ˆ˜/์š”์†Œ

Condition: True ๋˜๋Š” False๋ฅผ ํ‰๊ฐ€ํ•˜๋Š” ๋น„๊ต, ์ˆซ์ž ๋˜๋Š” ๋ฌธ์ž์—ด ์‹์ž…๋‹ˆ๋‹ค.

๋ฌธ ๋ธ”๋ก: ์กฐ๊ฑด์ด True์ธ ๋™์•ˆ ๋˜๋Š” True๊ฐ€ ๋  ๋•Œ๊นŒ์ง€ ๋ฐ˜๋ณตํ•  ๋ฌธ์ž…๋‹ˆ๋‹ค.

Do...Loop ๋ฌธ์€ ํŠน์ • ์กฐ๊ฑด์ด True์ธ ๋™์•ˆ ๋˜๋Š” True๊ฐ€ ๋  ๋•Œ๊นŒ์ง€ ๋ฃจํ”„๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. Do ๋˜๋Š” Loop ๋ฌธ ๋‹ค์Œ์— ๋ฃจํ”„๋ฅผ ์ข…๋ฃŒํ•˜๊ธฐ ์œ„ํ•œ ์กฐ๊ฑด์„ ์ž…๋ ฅํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ์˜ ์˜ˆ๋Š” ์œ ํšจํ•œ ๋ฌธ ๊ฒฐํ•ฉ์„ ๋ณด์—ฌ ์ค๋‹ˆ๋‹ค.

๊ตฌ๋ฌธ

Do While condition = True

...๋ฌธ ๋ธ”๋ก

Loop

Do While ๋ฐ Loop ๋ฌธ ์‚ฌ์ด์˜ ๋ฌธ ๋ธ”๋ก์„ ์กฐ๊ฑด์ด True์ผ ๋™์•ˆ ๋ฐ˜๋ณตํ•ฉ๋‹ˆ๋‹ค.

Do Until condition = True

...๋ฌธ ๋ธ”๋ก

Loop

Do Until ๋ฐ Loop ๋ฌธ ์‚ฌ์ด์˜ ๋ฌธ ๋ธ”๋ก์„ ์กฐ๊ฑด์ด False์ผ ๋™์•ˆ ๋ฐ˜๋ณตํ•ฉ๋‹ˆ๋‹ค.

Do

...๋ฌธ ๋ธ”๋ก

Loop While condition = True

Do ๋ฐ Loop ๋ฌธ ์‚ฌ์ด์˜ ๋ฌธ ๋ธ”๋ก์„ ์กฐ๊ฑด์ด True์ผ ๋™์•ˆ ๋ฐ˜๋ณตํ•ฉ๋‹ˆ๋‹ค.

Do

...๋ฌธ ๋ธ”๋ก

Loop Until condition = True

Do ๋ฐ Loop ๋ฌธ ์‚ฌ์ด์˜ ๋ฌธ ๋ธ”๋ก์„ ์กฐ๊ฑด์ด True๊ฐ€ ๋  ๋•Œ๊นŒ์ง€ ๋ฐ˜๋ณตํ•ฉ๋‹ˆ๋‹ค.

๋ฃจํ”„๋ฅผ ๋ฌด์กฐ๊ฑด ์ข…๋ฃŒํ•˜๋ ค๋ฉด Exit Do ๋ฌธ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ฌธ์€ Do...Loop ๋ฌธ์—์„œ ์ž„์˜์˜ ์œ„์น˜์— ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ๋‹ค์Œ๊ณผ ๊ฐ™์ด If...Then ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ข…๋ฃŒ ์กฐ๊ฑด์„ ์ง€์ •ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

Do...

๋ฌธ

If condition = True Then Exit Do

๋ฌธ

Loop...

์˜ˆ

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