- •Vba: основы синтаксиса
- •Примечание
- •04_01.Bmp
- •1. События, методы, свойства.
- •04_02.Bmp
- •2. Типы данных и обьявление переменных.
- •04_03.Bmp
- •04_04.Bmp
- •3. Процедуры и функции.
- •04_05.Bmp
- •04_06.Bmp
- •4. Операторы цикла и перехода.
- •5. Работа с формами.
- •04_07.Bmp
- •04_08.Bmp
- •04_09.Bmp
- •04_10.Bmp
- •04_15.Bmp
- •04_16.Bmp
- •04_17.Bmp
- •04_18.Bmp
- •04_19.Bmp
- •04_20.Bmp
- •04_21.Bmp
- •04_22.Bmp
- •04_23.Bmp
- •04_23.Bmp
04_05.Bmp
Рис. 4.5. Окно Стек вызова.
В выпадающем меню в правом верхнем углу окна программы указаны все процедуры и функции данного модуля. Это меню можно использовать для быстрого перехода к необходимому месту модуля.
Главная процедура - собственно программа - не может иметь параметров (в ее заголовке должны стоять пустые скобки). Только таким процедурам можно назначать кнопки и сочетания клавиш для их вызова на выполнение, и только они будут присутствовать в диалоговом окне "Сервис - Макросы - Макросы". Это и понятно - ведь это окно не предусматривает возможности указывать параметры при запуске макросов, да и передавать параметр в сочетании клавиш весьма затруднительно.
Во время пошагового исполнения при отладке программы с процедурами или функциями имеется возможность отказаться от прохода по всем командам той или иной процедуры или функции, вызвав команду "Шаг с обходом" из меню Отладка или кнопкой на одноименной панели.
04_06.Bmp
Рис. 4.6. Вызов команды Шаг с обходом.
Тогда вся процедура или функция будет выполнена безостановочно, как при обычном исполнении. Команда "Шаг с выходом" доступна в любой процедуре или функции, включая главную, и выполняет в обычном режиме все команды до конца процедуры или функции, переходя затем в режим пошагового исполнения в вызвавшей программе. Данные возможности позволяют отлаживать процедуры и функции по отдельности, что упрощает процесс поиска ошибок и их коррекции.
Разбивая программу на отдельные процедуры и функции, вы получаете возможность легко использовать повторно одни и те же фрагменты кода, обращаясь к ним из программы по мере надобности.
4. Операторы цикла и перехода.
Если необходимо повторить ту или иную группу операций несколько раз, то используются операторы цикла: Do...Loop, For...Next и While…Wend. Для проведения какой-либо операции или группы операций над однотипными обьектами используется оператор For Each...Next.
Если необходимо совершить те или иные действия в зависимости от наличия или отсутствия выполнения какого-либо условия или в зависимости от значения той или иной переменной, используются операторы условия: If...Then...Else и Select Case.
Если необходимо совершить переход к другой части той же программы, то используется оператор GoTo "имя метки". Там, куда должен быть совершен переход, на отдельной строке должна стоять метка с соответствующим именем, а после нее - двоеточие.
Подробное описание функций, особенностей и синтаксиса всех этих операторов можно получить в справочной системе редактора Visual Basic for Applications, поэтому не стоит здесь на них останавливаться.
5. Работа с формами.
Формы - это окна интерфейса программы. С их помощью можно сообщать пользователю необходимую информацию или получать ее от него. Для создания форм используются средства редактора Visual Basic for Applications.
Создав форму (из меню правой кнопки мыши в Менеджере проектов выберите команды "Вставить - UserForm") или дважды щелкнув на имени существующей формы, можно попасть в окно Дизайна форм. На появившейся панели инструментов "Панель управления" (если ее нет, то ее можно вызвать из меню "Вид - Панель элементов") представлены элементы, которые можно использовать в формах программ на Visual Basic for Applications (рис. 4.7). Этот набор на настоящее время идентичен во всех версиях Microsoft Office, так что рассмотрим его подробнее.
Итак, назначение элементов набора таково - если смотреть слева направо и идти сверху вниз.