Do...Loop Statement

ΠŸΠΎΠ²Ρ‚ΠΎΡ€ΡΠ΅Ρ‚ инструкции ΠΌΠ΅ΠΆΠ΄Ρƒ инструкциСй Do ΠΈ Loop, ΠΏΠΎΠΊΠ° условиС Ρ€Π°Π²Π½ΠΎ True ΠΈΠ»ΠΈ ΠΏΠΎΠΊΠ° условиС Π½Π΅ станСт Ρ€Π°Π²Π½ΠΎ True.

Бинтаксис

Do [{While | Until} УсловиС = True]

Участок_ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

[Exit Do]

Участок_ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

Loop

ΠΈΠ»ΠΈ

Do

Участок_ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

[Exit Do]

Участок_ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

Loop [{While | Until} УсловиС = True]

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹/Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹

УсловиС. Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅, числовоС ΠΈΠ»ΠΈ строковоС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ вычисляСтся Π»ΠΈΠ±ΠΎ ΠΊΠ°ΠΊ True, Π»ΠΈΠ±ΠΎ ΠΊΠ°ΠΊ False.

Участок_ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π˜Π½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡ‚ΡŒ, ΠΏΠΎΠΊΠ° условиС Ρ€Π°Π²Π½ΠΎ True ΠΈΠ»ΠΈ ΠΏΠΎΠΊΠ° условиС Π½Π΅ станСт Ρ€Π°Π²Π½ΠΎ True.

Π˜Π½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡ Do...Loop выполняСт Ρ†ΠΈΠΊΠ», ΠΏΠΎΠΊΠ° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ условиС Ρ€Π°Π²Π½ΠΎ True ΠΈΠ»ΠΈ ΠΏΠΎΠΊΠ° ΠΎΠ½ΠΎ Π½Π΅ станСт Ρ€Π°Π²Π½ΠΎ True. УсловиС для Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΈΠ· Ρ†ΠΈΠΊΠ»Π° Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Π²Π²Π΅Π΄Π΅Π½ΠΎ послС инструкции Do ΠΈΠ»ΠΈ Loop. Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ… прСдставлСны допустимыС ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ:

Бинтаксис

Do While УсловиС = True

участок_ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

Loop

Участок ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΌΠ΅ΠΆΠ΄Ρƒ инструкциями Do While ΠΈ Loop повторяСтся, ΠΏΠΎΠΊΠ° условиС истинно.

Do Until УсловиС = True

участок_ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

Loop

Участок ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΌΠ΅ΠΆΠ΄Ρƒ инструкциями Do Until ΠΈ Loop повторяСтся, ΠΏΠΎΠΊΠ° условиС Π»ΠΎΠΆΠ½ΠΎ.

Do

участок_ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

Loop While УсловиС = True

Участок ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΌΠ΅ΠΆΠ΄Ρƒ инструкциями Do ΠΈ Loop повторяСтся, ΠΏΠΎΠΊΠ° условиС истинно.

Do

участок_ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

Loop Until УсловиС = True

Участок ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΌΠ΅ΠΆΠ΄Ρƒ инструкциями Do ΠΈ Loop повторяСтся, ΠΏΠΎΠΊΠ° условиС Π½Π΅ станСт истинно.

Π˜Π½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡ Exit Do ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для бСзусловного Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Ρ†ΠΈΠΊΠ»Π°. Π­Ρ‚Ρƒ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Π² любоС мСсто инструкции Do...Loop. Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ условиС Π²Ρ‹Ρ…ΠΎΠ΄Π°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ структуру If...Then ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Do...

инструкции

If УсловиС = 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