Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Создание пользовательских п ÒÉÌÏÖÅÎÉÊ ÓÒÅÄÓÔÁÍ...doc
Скачиваний:
6
Добавлен:
18.11.2019
Размер:
2.02 Mб
Скачать

Режимы работы с программой

В VBA возможны четыре режима работы с программой.

  1. Режим конструктора. В режиме конструктора можно создавать и редактировать процедуры, создавать и модифицировать формы.

  2. Режим выполнения программы. Для запуска процедуры используются клавиша F5 или кнопка Run на стандартной панели инструментов. Предварительно необходимо установить точку вставки внутрь выбранной процедуры. В этом режиме в заголовке окна VB после имени файла указывается [running].

  3. Режим прерывания программы. Программа автоматически переходит в режим прерывания при возникновении некоторой ошибки во время выполнения программы.

Рис. 2.7. Прерывание программы

Высвечивается диалог, в котором можно выбрать продолжение (Continue) или завершение работы программы (End), получение справки относительно возникшей ошибки (Help) или переход в режим отладки (Debug).

Важно

  • При возникновении ошибки на этапе выполнения (Run-time error) VBA выводит сообщение, о том, какая именно ошибка произошла (например, Object required) и позволяет получить более подробный Help об этом типе ошибок. Внимательное чтение сообщений об ошибках и соотвествующих разделов Help значительно упрощает отладку.

  • Если программа зависает или необходимо прервать выполнение программы по какой-то причине, используйте клавиши Ctrl-Break или кнопку , при нажатии которых программа переходит в режим отладки.

  1. Режим отладки программы (Debug). Выбор отладки после прерывания программы активизирует окно с текстом выполняемой процедуры. В окне желтым цветом выделен оператор, на котором произошло прерывание. В этом режиме в заголовке окна VBA после имени файла указывается [break].

Переход в режим отладки происходит автоматически

  • при достижении контрольной точки;

  • программа выполнила команду Stop (пауза в выполнении программы);

  • если выполнено некоторое условие, установленное для отслеживания значений переменных командой Add Watch.

Ошибки и их обнаружение

Ошибки делятся на три категории: ошибки разработки (синтаксические ошибки), ошибки компиляции, ошибки выполнения.

Синтаксическая ошибка – это нарушение правил языка VBA.

Это может быть некорректный оператор, неверно введенное имя переменной, если объявление переменных обязательно (для редактора VB включена опция Require Variable Declaration, см. здесь и ниже рис. 2.6), отсутствие разделителей между аргументами, несоответствие открывающих и закрывающих скобок, отсутствие закрывающих операторных скобок (End If, Next и др.), не уникальное название процедуры и т.п.

Рекомендуется

  • включать опцию автоматической проверки синтаксиса – Auto Syntax Check;

  • пользоваться контекстно-зависимой подсказкой, которая возникает при наборе имен объектов, их свойств или методов и которая устанавливается опцией Auto Quick info;

  • выполнять правила синтаксиса при записи функций и конструкций языка. Для уточнения этих правил в окне программы можно выделить ключевое слово, оператор, функцию, объект, его свойство или метод и нажать клавишу F1. Появится окно справочной системы, которое соответствует выделенному фрагменту кода и показывает допустимую форму записи оператора.

При наборе текста процедур редактор VB немедленно реагирует на синтаксическую ошибку: некорректный оператор выделяется цветом (по умолчанию красным) и причина возникновения ошибки поясняется сообщением. Невозможно запустить процедуру, если в какой-нибудь процедуре любого открытого проекта обнаружена синтаксическая ошибка.

При запуске процедуры происходит процесс проверки уже не отдельных строк, а программы в целом. Вначале происходит компиляция программы и выявляются ошибки компиляции. Это, чаще всего, повторное объявление одной и той же переменной в одной процедуре, несоответствие типов переменных присваиваемым значениям. Например, переменная объявлена как объектная переменная, а ей присваивается символьное значение.

На этапе выполнения программы выявляются ошибки, которые не могли быть обнаружены редактором Visual Basic (ошибки выполнения).

Логические ошибки в программе не противоречит синтаксису оператора, но могут привести к неверным результатам выполнения программы. Примерами логических ошибок могут служить неверные имена или типы переменных, бесконечные циклы, ошибочные условия или неверные размеры массивов.

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

Во время выявления какой-нибудь ошибки происходит прерывание программы, если на вкладке General (Общие) диалогового окна Options (см. рис. 2.6) установлена опция Break on All Errors (Останов при любой ошибке).

На рис. 2.7 показан диалог, который возникает при прерывании программы. Нажатие кнопки Debug переводит программу в режим отладки. Оператор, на котором произошло прерывание (в котором возникла ошибка), подсвечивается.