Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб_работы / Лабораторная_работа_13 / Лабораторная_работа_13.doc
Скачиваний:
19
Добавлен:
19.05.2015
Размер:
138.75 Кб
Скачать

Лабораторная работа 13

Создание макросов в MS Excel

Цель работы: выработать навык создания простых макросов (макрокоманд) для автоматизации рутинной и повторяющейся работы на примере приложения пакета MS Office электронной таблицы MS Excel.

Методика выполнения лабораторной работы

Лабораторная работа посвящена вопросам, связанным с автоматическим созданием и применением программных модулей (макросов) при работе с MS Excel на языке программирования Visual Basic for Applications, или сокращенно VBA.

Понятие макроса

Макрос — это программа, состоящая из списка команд, которые должны быть выполнены приложением. Макрос служит для объ­единения нескольких различных действий в одну процедуру, ко­торую можно вызвать. Такой список команд состоит, в основ­ном, из макрооператоров, тесно связанных с командами прило­жений из MS Office. Большая часть макрооператоров соответствует командам меню или параметрам, которые задаются в диалоговых окнах.

Выделяются три основные разновидности макросов:

  • командные — наиболее распространенные макросы, которые обычно состоят из операторов, эквивалентных тем или иным командам меню или параметрам диалоговых окон. Основным предназначением таких макросов является выполнение дейст­вий, аналогичных командам меню — т. е. изменение окруже­ния и основных объектов приложения. Например, изменение рабочего листа или рабочего пространства MS Excel, сохране­ние или вывод на печать и т. п. Таким образом, в результате выполнения макроса вносятся изменения либо в обрабатывае­мый документ, либо в общую среду приложения;

  • пользовательские функции — работают аналогично встро­енным функциям MS Excel. Отличие этих функций от команд­ных макросов состоит в том, что они используют значения пе­редаваемых им аргументов, производят некоторые вычисле­ния и возвращают результат в точку вызова, но не изменяют среды приложения;

  • макрофункции — представляют собой сочетание командных макросов и пользовательских функций. Наряду с тем, что они подобно пользовательским функциям, могут использовать аргументы и возвращать результат, макрофункции, как и ко­мандные макросы, способны еще и изменять среду приложе­ния. Чаще всего макрофункции вызываются из других макро­сов и активно используются для модульного программирова­ния. Если необходимо в различных макросах выполнить ряд одинаковых действий, то эти действия обычно выделяются в отдельную макрофункцию (подпрограмму), которая вызыва­ется каждый раз, когда необходимо выполнить эти повторяю­щиеся действия.

Создание макросов

В процессе работы с MS Excel часто случается так, что приходится многократно выполнять достаточно однотипные действия. В этом случае разумно создавать макросы. От обычной программы макрос отличается в первую очередь тем, что типичная программа выполняется "под контролем" операционной системы (Windows), в то время как выполнение макроса осуществляется самим приложением (в данном случае это MS Excel). Макрос может быть создан практически так же, как и любая дру­гая программа. Для этих целей прямо из окна приложения MS Excel можно запустить редактор языка VBA. Однако есть и более простой способ создания макросов. Состоит он в том, чтобы перевести MS Excel в режим записи макроса, выполнить все те действия, которые должны выполняться данным макросом, после чего выйти из ре­жима записи макроса. Следует отметить, что этот метод применим только в тех случаях, когда макрос не слишком сложен. Тем не менее, даже при работе со сложными макросами данный метод может быть использован для генерации "базового" программного кода.

Простой макрос

В качестве примера создания макроса рассмотрим макрос, в результате выполнения которого ячейки в диапазоне А1:А10 заполняются последовательностью нату­ральных чисел от 1 до 10, после чего активной становится ячейка В1. Ниже описывается процесс создания подобного макроса.

П режде всего, выберите команду Сервис-Макрос-Начать запись… В результате раскроется диалоговое окно, показанное на рис. 1.

Рис. 1. Окно записи макроса

В этом диалоговом окне следует в поле Имя макроса: ввести имя создаваемого макроса (в данном случае это My_Macro), в поле Описание: можно ввести комментарий (текст Макрос записан 10.02.2007 (Gen Sh) или что-то другое). Помимо этого, в поле Сочетание клавиш: может быть ука­зана комбинация клавиш для запуска данного макроса. Чтобы сделать это, поместите курсор в данное поле и нажмите выбранную клавишу. В данном конкретном случае использована прописная литера А, поэтому макрос будет запускаться нажатием комбинации клавиш <Ctrl+Shift+A>. В списке Сохранить в: можно указать, где будет храниться макрос. В нашем примере создаваемый макрос записывается в текущую рабочую книгу. После щелчка на кнопке ОК начинается запись макроса.

Замечание. Место хранения макроса во многом определяет его доступность.

Внимание! При записи макроса отображается панель остановки записи макроса Остановка записи.

Запись макроса состоит из таких этапов.

1 . В ячейку А1 вводится число 1, а в ячейку А2 — число 2. После этого следует выделить диапазон А1 :А2 (рис. 2).

Рис. 2. Внесение чисел в ячейки А1 и А2.

  1. С помощью перетаскивания маркера заполнения необходимо расширить вы­деленный диапазон до А1 :А10 (рис. 3).

  2. Д алее выделяем ячейку В1. Получившийся в результате вид окна MS Excel пока­зан на рис. 4.

Рис. 3. Заполнение диапазона Рис. 4. Вид рабочего листа

А1:А10 с помощью маркера перед завершением записи

заполнения макроса

  1. Наконец, следует щелкнуть на кнопке окончания записи макроса на панели Остановить запись (рис. 5).

Рис. 5. Остановка записи макроса

Совет. Если по каким-то причинам панель Остановить запись не была отображена на экране (например, была случайно закрыта), вывести ее мож­но выбором команды Вид | Панели инструмен­тов | Остановка записи.

В дальнейшем для запуска только что созданного макроса можно выбрать команду Сервис | Макрос | Макросы или нажать комбинацию клавиш <Alt+F8>. (Перед первым запуском макроса сохраните книгу). В любом случае в результате откроется диалоговое окно Макрос, подобное тому, которое показано на рис. 6.

Рис. 6. Окно Макрос может использоваться для запуска макросов

В этом окне следует выбрать нужный макрос (в данном случае он один My_Macro), и щелкнуть на кнопке Выполнить. Второй способ запустить макрос состоит в том, чтобы воспользоваться комбинацией клавиш <Ctrl+Shift+A>, называемую «горячей». Проверить работу созданного нами макроса можно, в частности, так: перейдите в рабочей книге на новый рабочий лист и выполните любое из указанных выше действий.

Из окна Макрос с помощью кнопок можно:

Войти – открыть код макроса в редакторе VBA и начать его пошаговое выполнение;

Изменить – просто открыть макрос в редакторе VBA;

Создать – необходимо будет ввести имя создаваемого макроса и в редакторе VBA будет автоматически создана процедура с определенным вами именем;

Удалить – удалить макрос из списка;

Параметры … - параметры макроса.

Каждый раз открывать это окно, находить нужный макрос (а их может быть, например, несколько десятков) и нажимать на кнопку Выполнить – не самый быстрый вариант.

Назначать клавиатурную комбинацию <Ctrl+символ> есть смысл только тем макросам, которыми пользуются очень часто. Если макросом пользуются редко, то назначенные клавиши забываются и теряются те бумажки на которых они были записаны. Лучший выход в такой ситуации − назначить макросу кнопку на панели управления.