Введение в программирование на VBA - eDrive
Введение в программирование на VBA - eDrive
Введение в программирование на VBA - eDrive
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
45<br />
Выражение<br />
[…]<br />
Loop Until ложноеЛогическоеВыражение [=False]<br />
Лексема Do помечает <strong>на</strong>чало этих упра<strong>в</strong>ляющих структур. Следующие за<br />
ней <strong>в</strong>ыражения последо<strong>в</strong>ательно исполняются до лексемы Loop, а затем<br />
происходит <strong>в</strong>оз<strong>в</strong>рат к пер<strong>в</strong>ому после Do <strong>в</strong>ыражению и <strong>в</strong>се по<strong>в</strong>торяется.<br />
Образуется замкнутый цикл, и, если не принять мер, он стано<strong>в</strong>ится<br />
бесконечным. Для упра<strong>в</strong>ления <strong>в</strong>ыходом из цикла используются операторы<br />
While и Until, которые можно размещать как за оператором Do, так и за<br />
сло<strong>в</strong>ом Loop. После операторо<strong>в</strong> While и Until долж<strong>на</strong> присутст<strong>в</strong>о<strong>в</strong>ать<br />
логическая операция. Если ее результат после While соот<strong>в</strong>етст<strong>в</strong>ует истине<br />
или ложен после Until, то цикл продолжает <strong>в</strong>ыполняться. В проти<strong>в</strong>ном<br />
случае программа переходит <strong>на</strong> следующее за упра<strong>в</strong>ляющей структурой<br />
<strong>в</strong>ыражение.<br />
Допускается, также, использо<strong>в</strong>ание упра<strong>в</strong>ляющей структуры<br />
While…Wend:<br />
Примеры<br />
While ИстинноеЛогическоеВыражение [=True]<br />
Выражение<br />
[…]<br />
Wend<br />
Sub Приглашение ()<br />
Do While <strong>в</strong>сего < 100<br />
гость = InputBox ("Имя гостя ")<br />
сопро<strong>в</strong>ождающие = InputBox ("Сколько с ним чело<strong>в</strong>ек ")<br />
<strong>в</strong>сего = <strong>в</strong>сего + сопро<strong>в</strong>ождающие + 1<br />
Loop<br />
MsgBox "Больше мест нет. Последний <strong>в</strong> списке " & гость<br />
End Sub<br />
Sub ПокаНалог ()<br />
доход = InputBox ("Ваш месячный доход")<br />
процент = Ста<strong>в</strong>каНалога (доход)<br />
Do While процент = 13<br />
<strong>в</strong>сего = <strong>в</strong>сего + доход<br />
процент = Ста<strong>в</strong>каНалога (<strong>в</strong>сего)<br />
месяц = месяц + 1<br />
If месяц > 13 Then Exit Do<br />
Loop<br />
MsgBox "Минималь<strong>на</strong>я ста<strong>в</strong>ка <strong>на</strong>лога удержи<strong>в</strong>ается " & _<br />
месяц - 1 & " месяце<strong>в</strong>"<br />
End Sub