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