Подготовьте отчет о выполненной лабораторной работе. Он должен содержать титульный лист, формулировку задания, пример созданной таблицы, содержание ее программирования и текст созданного вами макроса с включенными в него построчными комментариями действий системы, созданными вам как результат анализа текста макроса. Сформулируйте выводы, которые можно сделать по результатам выполненной работы. Дайте письменные ответы на контрольные вопросы. На компьютере представляются файлы с результатами работы, записанные в папку с номером вашей группы/ваша фамилия/№ лабораторной работы.
Вариант титульного листа отчета, какой он был в 2004-2005 учебном году, приведен в приложении Ошибка! Источник ссылки не найден.. С действующим вариантом титульного листа можно ознакомиться на https://standarts.guap.ru
5. Контрольные вопросы
1. В каком случае используется стиль ссылок Excel:A1, а в каком R1C1?
2. В чем разница абсолютной и относительной адресации ссылок в Excel?
3. Когда целесообразно использовать абсолютную адресацию в Excel?
4. Если написать макрос вручную, то какие обязательные операторы он должен содержать?
5. Каково назначение свойства Range?
6. Каково назначение метода Select?
7. Как вызвать систему помощи и получить справку по конкретному выражению макроса?
8. Как можно запустить макрос на выполнение?
9. Что такое построчный комментарий и как он оформляется?
10. Какие существуют возможности для оформления внешнего вида таблицы Excel перед ее публикацией в отчетной документации?
Лабораторная работа №2. Отладка и выполнение программы в среде VBA
Методические указания
Мы уже просматривали макрос, созданный в процессе выполнения предыдущей лабораторной работы средствами VBA. Рассмотрим назначение интегрированной среды разработки приложений VBA (рис. 2) более подробно.
|
Верхние строки представляют собой главное меню программы и набор пиктограмм часто используемых операций. Как обычно, этот набор может настраиваться в зависимости от потребностей пользователя. Ниже в левой части экрана находится уже знакомое нам окно проектов Project-VBAProject. Содержимое выбранного в этом окне модуля Module2 раскрыто в окне редактора кодов, находящемся правее. На рисунке зафиксирован момент отладки программы, поэтому одна из строк кода выделена специальным цветовым маркером. Его положение указывает на следующий выполняемый оператор программы. Обратите внимание на окно локальных переменных Locals в нижней части экрана. В нем отображается содержимое ячеек памяти. В выполняемом макросе нет собственных переменных, поэтому ветвь Module2 в настоящий момент пустая. Окно тестирования Immediate позволяет изменять значения переменных программы в момент ее выполнения и даже вводить дополнительные операторы. На настоящий момент оно также пустое. Остальные элементы (кнопки управления, полосы прокрутки, раскрывающиеся списки и т.п.) являются стандартными для Windows и должны быть вам хорошо знакомы. Наконец дополнительно в левой нижней части экрана командой View, Properties Window открыто окно свойств.
Рис. 2. Интегрированная среда разработки VBA
Готовая программа, которой, в частности, является созданный нами макрос, может быть запущена и выполнена с использованием интегрированной среды VBA. Мы можем запустить конкретный модуль, предварительно указав его маркером в окне редактора кодов. Для этого достаточно выбрать пункт Run, Run Sub/User Form главного меню. Операторы программы будут выполняться автоматически один за другим, а после завершения ее выполнения мы можем только контролировать результаты ее работы. Этот режим мы уже использовали при выполнении предыдущей лабораторной работы. Очень часто, особенно при создании новой программы, разработчика интересуют не только итоговые, но и промежуточные результаты ее выполнения. Для этого удобно воспользоваться режимом отладкипрограммы (пункт Debug главного меню). Выбор строки Step Into позволяет выполнить текущий оператор программы. Если программа еще не запущена, то в ответ на выбор этого пункта активируется маркер отладчика (рис. 2). Дальнейший выбор Step Into приведет к выполнению следующей строки программы. Результаты выполнения могут, например, проявится в виде изменения переменных программы и быть проконтролированы в окне локальных переменных Locals (если такие переменные существуют) или непосредственно на листе Excel, если выполняется макрос, созданный средствами Excel.
|
Примечание. Меню отладчика предлагает еще две возможности пошагового выполнения программы: Step Over и Step Out. Они представляют интерес при работе с программами, содержащими вызываемые функции или процедуры. Режим Step Over позволяет автоматически выполнить вызываемую функцию (процедуру) и перейти к следующему оператору основной программы, а режим Step Out закончит выполнение текущей функции или процедуры. Способы их использования будут обсуждены в лабораторной работе, посвященной функциям и процедурам.
|
В качестве дополнительных возможностей отладчика отметим следующее. Можно автоматически выполнять операторы программы до оператора, на котором установлен курсор в окне редактора кодов. Этот режим вызывается строкой Run To Cursor пункта Debug главного меню. Программа запускается в автоматическом режиме из своего текущего состояния, а после остановки на отмеченном курсором операторе он выделится маркером отладчика. В текст программы можно вводить так называемые точки останова(строка Toggle Breakpoint). В окне редактора кодов такой оператор помечается специальным маркером. После запуска программы любыми средствами она автоматически выполняется до точки останова. Кроме этого, существует возможность наблюдать значения избранных вами переменных программы в окне наблюдаемых выражений Watches (на рис. 2 это окно не показано). Если вы захотите воспользоваться этим режимом, то командой View/Watch Window главного меню включите его, выберите соответствующую строку пункта Debug главного меню и задайте наблюдаемое выражение в открывшемся меню.
Задание
Используйте согласованный с преподавателем вариант задания (табл. 1), выполненную на его основе таблицу Excel и созданный вами макрос. Научитесь выполнять макрос в режиме отладчика и проверьте правильность его работы.