
- •Конспект лекций «Основы языка Visual Basic for Applications»
- •Содержание
- •Основные элементы vba
- •Что такое vba
- •Понятие объектов и их семейств
- •Свойства
- •События
- •Структура редактора vba
- •Окно проекта
- •Окно для редактирования кода
- •Интеллектуальные возможности редактора кода
- •Команды Меню интегрированной среды vba
- •Панели инструментов
- •Работа с макросами
- •Понятие макросов
- •Запись макросов
- •Выполнение макросов
- •Просмотр кода макроса
- •Редактирование кода макроса
- •Удаление макросов
- •Назначение макросов командным кнопкам
- •Назначение макроса графическим изображениям
- •Назначение макросов кнопкам панелей инструментов
- •Основные понятия языка программирования vba
- •Понятие и общие правила написания программного кода
- •Типы данных
- •Объявление переменных
- •Допустимые имена
- •Массивы
- •Константы
- •Операторы ввода / вывода информации
- •Простейшие операции
- •Операции vba
- •Приоритет выполнения операций в выражениях
- •Оператор присвоения
- •Структура программы. Процедуры. Функции
- •Основные понятия
- •Понятие модуля
- •Понятие процедуры
- •Понятие функции
- •Правила для имён процедур и функций
- •Вызов процедур и функций
- •Встроенные функции vba
- •Математические функции
- •Функции проверки типов
- •Функции преобразования типов
- •Функции обработки строк
- •Функции времени и даты
- •Реализация разветвляющихся алгоритмов
- •Условный оператор If … Then
- •Вложенные конструкции для принятия решений с использованием условного оператора If … Then
- •Многозначные ветвления If … Then
- •Оператор выбора Select Case
- •Циклы с заданным количеством повторений For
- •Цикл For … Next
- •Вложенные циклы For … Next
- •Циклы с логическим управлением повторениями While и Do
- •Цикл While … Wend (цикл с предусловием)
- •Цикл Do While … Loop (цикл с предусловием)
- •Цикл Do … Loop While (цикл с постусловием)
- •Адресация ячеек
- •Список использованной литературы
-
Циклы с логическим управлением повторениями While и Do
Для выполнения оператора For…Next необходимо задать параметры, которые будут определять, сколько раз должен выполниться оператор(ы) цикла. Альтернативой циклу с For…Next являются циклы While и Do , в котором группа операторов выполняется до тех пор, пока определённое логическое выражение имеет значение True (истина) или False (ложь). Такие циклы нужно применять в тех задачах, где мы не можем знать точно, сколько раз будет повторен цикл. Например, Вы хотели бы, чтобы пользователь вводил пароль в вашей программе до тех пор, пока он не совпадёт с ранее заданным паролем.
Наиболее простой конструкцией построения цикла является конструкция While…Wend. Также существует несколько разновидностей альтернативной конструкции – цикла Do, в зависимости от условий его выполнения. Конструкции циклов Do являются более универсальными и, соответственно, сложными.
-
Цикл While … Wend (цикл с предусловием)
Общий вид алгоритма конструкции цикла While … Wend представлен на рисунке.
Синтаксис операторов данного цикла:
While <лог. выражение>
P1
тело цикла
PN
Wend
Да Нет
В данном цикле сначала выполняется проверка выполнения логического выражения, при его выполнении – выполняется тело цикла. Затем – повторно проверка условия. Таким образом, цикл выполняется до тех пор, пока выполняется заданное логическое выражение. Если условие в заголовке цикла не является истинным с самого начала, цикл не выполняется ни разу.
Демонстрируется
выполнение практического задания
-
Цикл Do While … Loop (цикл с предусловием)
Общий вид алгоритма конструкции аналогичен алгоритму цикла While.
Синтаксис оператора следующий:
Do {While | Until} <логическое выражение>
P1
P2
.
[Exit Do]
.
PN
Loop
где Do (выполнить), While (пока), Until (не раньше), Exit Do (выход из Do), Loop(петля) – зарезервированные слова, P1, P2, PN – операторы.
В данной конструкции требуется указание одного из ключевых слов: либо While, либо Until. При указании слова While – цикл выполняется до тех пор, пока условие истинно; смысл лова Until – цикл выполняется до тех пор, пока условие не станет истинным, то есть пока условие ложно.
Если логическое выражение после служебного слова While имеет значение True, то выполняются операторы P1, P2, PN , после чего проверка логического выражения повторяется. Если логическое выражение имеет значение False, то происходит выход из цикла. Если условие в заголовке цикла не является истинным с самого начала, цикл Do не выполняется ни разу.
-
Цикл Do … Loop While (цикл с постусловием)
В отличие от конструкции Do … Loop While, в которой проверка условия осуществляется вначале работы конструкции, конструкция Do … Loop While начинается с выполнения тела цикла, и только затем выполняется проверка условия. Поэтому цикл, организованный с помощью этого оператора, в любом случае выполнится хотя бы один раз.
В остальном данная конструкция аналогична конструкции Do While … Loop.
Общий вид алгоритма конструкции следующий:
P1
P2
Pn
Лог.
выражение
Да Нет
Синтаксис оператора следующий:
Do
P1
P2
.
[Exit Do]
.
PN
Loop {While | Until} <логическое выражение>
Демонстрируется
выполнение практического задания