Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция 1.docx
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
176.75 Кб
Скачать

Запуск, выполнение и отладка макросов

Для получения окончательной версии созданного макроса часто требуется проверка его работы в режиме отладки. Отладкой называют процесс поиска и исправления ошибок в программах.

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.

Для упрощения процесса вызова макроса на выполнение можно добавить на панель инструментов настраиваемую кнопку и сопоставить ей имя нужного макроса. Для этого вначале необходимо инициализировать команду ВидПанели инструментовНастройка… Команды. Затем из списка категорий команд выбрать Макросы и перетащить Настраиваемую кнопку на панель инструментов и в заключение поставить ей в соответствие имя требуемого макроса.