Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2 Курс Информатика VBA(ЗО) / Лабораторные работы / Лабораторный практикум VBA.doc
Скачиваний:
144
Добавлен:
31.05.2015
Размер:
813.57 Кб
Скачать

Инструкция Do...Loop

Инструкция Do...Loop имеет два варианта синтаксиса:

  • В первом варианте условие проверяется в начале цикла.

  • Во втором варианте условие проверяется после выполнения инструкций тела цикла.

При использовании ключевого слова While цикл будет выполняться, пока усло­вие имеет значение True, со словом Until — пока условие не примет значение True.

По сравнению с предыдущей, эта инструкция обеспечивает более структуриро­ванный и гибкий способ организации циклов.

Первый вариант синтаксиса инструкции Do...Loop:

Do [{While | Until} Условие]

[Инструкции]

[Exit Do]

[Инструкции]

Loop

Второй вариант синтаксиса инструкции Do...Loop:

Do

[Инструкции]

[Exit Do]

[Инструкции]

Loop [{While | Until} Условие]

Таблица 12 - Элементы синтаксиса инструкции Do...Loop

Условие

Необязательный элемент. Представляет числовое выражение или строковое выражение, которое имеет значение True или False. Если условие имеет значение Null, то оно рассматривается как значение False

Инструкции

Одна или несколько инструкций, выполнение которых повторяется до тех лор, пока условие имеет значение True или пока оно не приобретет значение True

Инструкция Do...Loop позволяет организовать циклы, аналогичные циклам White...Wend. Однако в отличие от последнего, цикл Do...Loop содержит инструк­цию Exit Do, которая позволяет выйти из цикла Do...Loop в любом месте. Ниже приведен пример использования цикла, организованного с помощью инст­рукции Do...Loop, который практически идентичен рассмотренному выше циклу While...Wend.

Do While I < 10

A =A + I

I = I + 1

Loop

В первом варианте синтаксиса цикла Do...Loop и в цикле While...Wend сначала все­гда проверяется условие, поэтому возможна ситуация, когда инструкции могут ни разу не выполняться. Во втором варианте синтаксиса Do.,,Loop инструкции, составляющие тело цикла, будут выполнены по крайней мере один раз.

Инструкция For Each...Next

Инструкция For Each...Next повторяет выполнение группы инструкций для каждо­го элемента массива или семейства. Синтаксис этой инструкции имеет вид:

For Each Элемент In Группа

[Инструкции]

[Exit For]

[Инструкции]

Next [Элемент]

Остановимся на алгоритме выполнения инструкции For Each...Next. Набор инст­рукций, содержащихся в блоке For...Each, выполняется только в том случае, если группа содержит хотя бы один элемент. Сначала выполняются все инструкции для первого элемента группы, затем (при условии, что группа содержит несколь­ко элементов) — инструкции цикла для остальных элементов. После обработки всех элементов цикл завершается, и выполнение программы передается на инст­рукцию, следующую за инструкцией Next.

Среди инструкций цикла может содержаться любое число инструкций Exit For, позволяющих выйти из цикла. При этом управление передается инструкции, рас­положенной за инструкцией Next.

Таблица 13 - Элементы синтаксиса инструкции For Each...Next

Элемент

Обязательный элемент, которым является переменная, используемая для выполнения итераций по элементам семейства или массива. Для семейства элемент может быть только переменной типа Variant, универсальной объектной переменной или переменной, представляющей любой конкретный объект. Для массивов элемент может быть только переменной типа Variant

Группа

Обязательный элемент— имя семейства объектов или массива

Инструкции

Необязательный элемент — инструкции, которые выполняются для каждого элемента группы