Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МУ7 - VBA Основы программирования Работа с ячей...doc
Скачиваний:
3
Добавлен:
19.11.2019
Размер:
1.51 Mб
Скачать

5 Основные команды отладки программ

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

Команды отладчика можно увидеть, если в среде VBA открыть меню Debug (Отладка). Рассмотрим основные команды отладчика.

1. Step Info (Шаг с заходом) – выполнение одного оператора программы или его части. Эта команда также выполняется при нажатии клавиши F8. ее можно использовать для пошагового выполнения программы.

2. Run To Cursor (Выполнить до текущей позиции) – выполнение программы до мигающего курсора. (для установки мигающего курсора нужно кликнуть в нужном месте программы). Рассматриваемая команда выполняется также при нажатии клавиши CTRL+F8.

3. Toggle Breakpoint (Точка останова) – установка или ликвидация точки останова. Такой точкой отмечается строка в программе, перед которой выполнение программы временно прекращается. Установка или ликвидация точки останова производится в том месте, где находится мигающий курсор. Эта команда также выполняется при нажатии клавиши F9.

Для установки или ликвидации точки останова можно кликнуть на серой левой границе окна кода напротив нужной строки.

4. Clear All Breakpoints (Снять все точки останова) – ликвидация всех точек останова.

5. Add Watch (Добавить контрольное значение) – визуализация текущих значений выбранных переменных

Следующие две команды входят в состав меню Run (Запуск).

Run (Запуск) – запуск программ и переход от одной точки останова к другой. Если точек останова нет, то программа выполняется полностью. Эта команда изображена стрелкой на панелях инструментов, в частности на стандартной панели.

Reset (Сброс) – прекращение выполнения программы. Эта команда изображена квадратом на панелях инструментов.

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

Рассчитанные значения приращений координат DX и DY в программе Прямая_Задача можно увидеть с помощью отладчика. Для этого выполним следующие операции.

1. Отметим точкой останова последнюю строку программы, например, кликнув на серой левой границе окна кода напротив этой строки.

2. Кликнем по кнопке Run (Запуск) (стрелка на панели инструментов) для выполнения программы до точки останова.

3. Подведем указатель мышки к переменной DX в тексте программы; при этом высветится Dx=-29.4183358799769. Аналогичным образом, подведя указатель мышки к переменной Dy, увидим значение этой переменной.

Следует заметить, что таким образом мы можем увидеть текущее значение любой переменной в программе.

4. Кликнем еще раз на кнопке Run (Запуск) на панели инструментов для окончания выполнения программы.

Выполнение программы означает последовательное выполнение ее операторов: сначала компьютер задает значения D, gr, Min, sec, а затем рассчитывает значения Rad, Dx, Dy. В этом легко убедиться, если выполнить следующее.

Задание: уберите точку останова (кликнув на ней) и произведите пошаговое выполнение программы Прямая_Задача с помощью клавиши F8, наблюдая за изменением значений переменных D, gr, Min, sec, Rad, Dx, Dy.

Перед первым нажатием клавиши F8 мигающий курсор должен находиться в тексте программы.

Выполнение программы можно прекратить, если кликнуть по кнопке Reset (Сброс) (квадрат на панели инструментов).

Рис. 6 – Вид окна Код/Объект после написания в модуле Module1 текста программы

Рис. 7 – Вид окна Код/Объект после написания в модуле Module1 текста программы

Рис. 7 – Вид окна Код/Объект после написания в модуле Module1 текста программы

Еще одна возможность увидеть значения переменных, вычисленных в результате выполнения программы – это использовать окно Watches, которое активируется с помощью команды Add Watch (Добавить контрольное значение) меню Debug (Отладка).

Для этого надо войти в меню Debug и выбрать пункт Add Watch, а затем в одноименном диалоговом окне в поле Expression набрать требуемый идентификатор переменной. После этого на рабочем экране появится четвертое окно Watches, в котором в первой строке будет стоять идентификатор указанной переменной, текущее значение переменной, ее тип и имя модуля, в котором используется данная переменная. При необходимости аналогичным образом можно добавить сколько угодно идентификаторов, значения которых необходимо отслеживать при пошаговом выполнении программы.

Задание:

- сбросьте выполнение программы (при необходимости), воспользовавшись для этого кнопкой Reset (Сброс);

- добавьте в окно контрольных значений переменные D, gr, Min, sec, Rad, Dx, Dy;

- произведите пошаговое выполнение программы Прямая_Задача с помощью клавиши F8, наблюдая за изменением значений переменных D, gr, Min, sec, Rad, Dx, Dy.

Рис. 8 – Вид окна VBA после добавления в него окна Watches с наблюдаемыми переменным

Рис. 9 – Значения наблюдаемых переменных после выполнения операторов программы

Синтаксис и программные конструкции VBA

Основные синтаксические принципы языка VBA следующие:

- VBA нечувствителен к регистру;

- чтобы закомментировать код до конца строки либо вставить комеентарий, используется одинарная кавычка (‘) или команда REM;

- символьные значения должны заключаться в двойные кавычки (“);

- максимальная длина любого имени в VBA (переменные, константы, процедуры) – 255 символов;

- начало нового оператора – перевод на новую строку;

- ограничений на максимальную длину строки нет (есть ограничение со стороны редактора до 308 символов);

- в одной строке можно записать несколько операторов; разделителем операторов в этом случае является двоеточие:

Msgbox “Первый оператор” : Msgbox “Второй оператор”

- для удобства чтения один оператор может быть размещен на нескольких строках (перенос); для этого в конце переносимой строки надо поставить пробел и символ подчеркивания после пробела:

Msgbox “Это начало строки,“ _

& “ это ее продолжение,” _

& “ а это ее окончание”