
- •Введение
- •Приступая к работе с Visual Basic for Applications
- •Введение в Visual Basic for Applications
- •Редактор Visual Basic
- •Запуск Редактора vbа
- •Окно свойств
- •Окно проекта
- •Окно модуля
- •Создание, редактирование и запуск программ
- •Автоматическая запись макроса и его редактирование
- •Редактирование текста макроса
- •Создание макроса в редакторе vba
- •Запуск, выполнение и отладка макросов
Запуск, выполнение и отладка макросов
Для получения окончательной версии созданного макроса часто требуется проверка его работы в режиме отладки. Отладкой называют процесс поиска и исправления ошибок в программах.
VBA не может диагностировать и исправлять ошибки за пользователя, но предоставляет средства, помогающие анализировать поток управления программой, значения переменных и свойств объектов по мере выполнения операторов. Средства отладки позволяют заглянуть «внутрь программы» и разобраться, что в ней происходит и почему.
Отладочные средства VBA поддерживают точки останова, контрольные выражения, пошаговое выполнение кода по одному оператору или процедуре за шаг и просмотр значений переменных и свойств. VBA предоставляет и специфические возможности отладки, позволяя, например, внести изменения в программу и продолжить ее выполнение, указать следующий исполняемый оператор и протестировать процедуру в режиме прерывания.
Прерыванием называют состояние, когда программа Visual Basic остается загруженной, но после выполнения одной инструкции следующая не выполняется. Для прерывания программы Visual Basic надо установить в программе точку останова. Таким образом, точка останова задается, чтобы приостановить выполнение программы на определенной инструкции в процедуре, например, там, где может возникать ошибка. Если точки останова больше не нужны, они удаляются.
Чтобы
добавить точку останова в
окне модуля, следует перевести курсор
в строку, на которой надо приостановить
выполнение, и нажать кнопку на
панели инструментов или клавишу F9.
Для того чтобы снять точку останова, следует перевести курсор в строку, в которой поставлена точка останова, и нажать клавишу F9. Если точка останова удалена, то подсветка строки отменяется. Для продолжения выполнения программы нужно выбрать команду Продолжить в меню Запуск.
Для прерывания программы можно также добавить в процедуру инструкцию Stop или нажать клавиши CTRL+BREAK во время выполнения программы.
Чтобы помочь пользователю обнаруживать ошибки любых типов и контролировать ход выполнения программ, в Visual Basic имеются средства отладки, позволяющие выполнять программы в пошаговом режиме, следить за изменением значений переменных или выражений. Выполнение программы Visual Basic в пошаговом режиме позволяет определить, в каком месте программы возникает ошибка. Такой режим позволяет видеть результаты выполнения каждой программной строки.
Пройти процедуру в пошаговом режиме можно без прерывания программы. Для этого в окне модуля нужно установить курсор в нужной процедуре и нажать кнопку Шаг с заходом на панели инструментов. Те же действия выполнятся в результате нажатия клавиши F8.
Одно нажатие клавиши влечет выполнение очередной строки программы. Следующая подлежащая исполнению строка выделяется желтым фоном. Выполнение процедуры можно остановить нажатием кнопки Сброс на панели инструментов.
П
олезным
моментом в процессе отладки макроса
является просмотр значений переменных
в области локальных переменных окна
отладки. Чтобы визуализировать данное
окно нужно выполнить команды ВидОкно
локальных переменных или нажать
кнопку Окно отладки на панели
инструментов.
Рис. 5. Окно редактора при работе в режиме отладки
В
появившемся окне будут автоматически
выводиться имя, текущее значение и тип
всех переменных и объектов текущей
процедуры (рис. 6). Значения обновляются
при каждой остановке программы. Для
изменения значения переменной в области
локальных переменных необходимо выбрать
существующее значение и ввести новое.
Рис. 6. Окно локальных переменных
Когда окно отладки открыто, его обновление происходит автоматически при каждом переключении из режима выполнения в режим прерывания.
Элементами окна являются Выражение, Значение, Тип.
Выражение - список имен переменных. Первая переменная в этом списке – особая переменная модуля, которая может быть развернута для просмотра всех переменных уровня текущего модуля. Для модулей класса определена системная переменная <Me>. Для стандартных модулей ее имя совпадает с именем модуля. Редактирование данных в этом столбце невозможно.
Значение - список значений переменных. При выборе с помощью мыши значения из этого столбца, курсор принимает форму буквы I. В этом режиме следует изменить данные, а затем нажать клавиши ENTER, СТРЕЛКА ВВЕРХ, СТРЕЛКА ВНИЗ, TAB, SHIFT+TAB или кнопку мыши для проверки введенных данных на допустимость. Если введенное значение некорректно, поле редактирования остается активным, а само значение выделяется. Также отображается окно сообщений, описывающее возникшую ошибку. Для отмены изменений следует нажать клавишу ESC.
Все числовые переменные должны иметь значение. Строковые переменные могут быть пустыми.
Тип - отображает тип переменных. Данные в этом столбце не редактируются.
Запуск макроса в обычном режиме из редактора Visual Basic возможен нажатием клавиши F5.
После того как макрос отлажен, его можно выполнить в Microsoft Excel. Для запуска макроса из Excel в меню Сервис установите указатель на пункт Макрос и выберите команду Макросы. В поле Имя макроса введите имя того макроса, который нужно выполнить и нажмите кнопку Выполнить. Для прерывания выполнения макроса следует нажать клавишу ESC.
Для упрощения процесса вызова макроса на выполнение можно добавить на панель инструментов настраиваемую кнопку и сопоставить ей имя нужного макроса. Для этого вначале необходимо инициализировать команду ВидПанели инструментовНастройка… Команды. Затем из списка категорий команд выбрать Макросы и перетащить Настраиваемую кнопку на панель инструментов и в заключение поставить ей в соответствие имя требуемого макроса.