Запись макроса и размещение его на панели быстрого доступа



Практическая работа №17.

Тема: Макросы.

Немного теории.

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

Можно выделить три основные разновидности макросов:

1) Командные – наиболее распространенные макросы. Обычно состоят из операторов, эквивалентных тем или иным командам меню или параметрам диалоговых окон. Их основным предназначением является выполнение действий, аналогичных команда меню. Например, изменение рабочего листа или рабочего пространства Excel, сохранение, вывод на печать и т.п. Таким образом, в результате выполнения макроса вносятся изменения либо в обрабатываемый документ, либо в общую среду приложения.

2) Пользовательские функции – работают аналогично встроенным функциям Excel. Их отличие от командных макросов в том, что они используют значения передаваемых им аргументов, производят некоторые вычисления и возвращают результат в точку вызова, но не изменяют среду приложения.

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

Ранее мы уже говорили о макросах, однако все они создавались путем ввода программного кода в окне редактора VBA в соответствующем модуле проекта. В Excel есть возможность записывать макросы прямо в окне приложения. Именно такие методы записи макросов будем рассматривать в данной работе. Как правило, подобные методы записи макросов используются для получения чернового варианта кода, в который в дальнейшем можно вносить изменения
и таким образом оптимизировать его. Следует отметить, что на практике бывает очень удобно предварительно записать базовую последовательность действий, а после внести соответствующую правку в программный код.

В период разработки макросов следует помнить о последовательности действий, связанной с их разработкой:

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

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

Запись макроса с помощью макрорекордера. Макрорекордер – представляет собой транслятор, создающий программу (макрос) на языке VBA, которая является результатом перевода на языке VBA действий пользователя
с момента запуска макрорекордера до окончания записи макроса. Запись макроса начинается с выполнения команды: Разработчик → Код → Запись макроса. В открывшемся диалоговом окне устанавливаются параметры описываемой процедуры (её имя, описание, сочетание клавиш для её выполнения, указание для каких документов доступен макрос), далее следует переход в режим записи макроса (на экране кнопка Запись макроса изменится на кнопку Остановить запись). Кроме того, кнопка Пауза также станет активной, если на время вы захотите приостановить запись макроса
и выполнить другие действия с документом. Чтобы остановить запись макроса выполняют команду: Разработчик → Код → Остановить запись.

Просмотр и редактирование созданной процедуры. Для этого выполните команду: Разработчик → Код → Макросы →в открывшемся диалоговом окне Макрос выберите в списке имя нужного макроса нажмите кнопку Изменить →откроется главное окно редактораVBAи окноМодуль (Module)с текстом выбранного макроса внесите необходимые изменения и закройте окно редактора.

Выполнение макроса. Для этого следует выполнить команду: Разработчик → Код → Макросы →
в открывшемся диалоговом окне Макрос выберите в списке имя нужного макроса нажмите кнопку Выполнить.

Пример 1.

Запись макроса и размещение его на панели быстрого доступа.

Пусть необходимо создать макрос, который активизирует рабочий лист: так, если активным является Лист1,
то мы запишем макрос который активизирует рабочий лист Лист2.

Для этого:

1) Запустите MS Excel 2007 и убедитесь, что указатель ячейки находится на рабочем листеЛист1, ячейка А1.

2) Для активизации макрорекордера выполните команду: Разработчик → Код →щелкните на кнопкеЗапись макроса.

3) В открывшемся окне Запись макроса установите необходимые параметры записываемой процедуры (см. рис. 1). Например, присвойте макросу имя: АктивизацияЛиста (имя пишется без пробелов), в поле Описание введите соответствующие пояснения (для чего создается ваш макрос), поле Сохранить оставьте без изменения и нажмите ОК.

 

 

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

Примечание: поля Имя макроса и Описание используются для задания имени макроса и его описания. По умолчанию макросам присваиваются имена Макрос1, Макрос 2 и т.д. Если вы планируете использовать макрос многократно, то через некоторое время вам будет трудно вспомнить, для чего он создавался, поэтому для облегчения узнаваемости лучше использовать оригинальное имя, поясняюшее для чего он предназначен. Для этой же цели заполняется и поле Описание.

Поле Сочетание клавишпозволяет назначить макросу комбинацию клавиш, т.е. указать символ, который
в сочетании с клавишей Сtrl позволит его выполнить. Пожалуй, это имеет смысл делать только для постоянно используемых макросов  − для быстрого доступа к ним. Без помощи комбинации клавиш макрос вызывается с помощью команды: Разработчик → Код →щелкнуть на кнопкеМакросы.

Раскрывающийся список Сохранить впредназначен для выбора книги, в которой будет сохранен макрос. Если выбрать Личная книга макросов, то макрос будет сохранен в специальной скрытой книге, в которой хранятся макросы. Эта книга автоматически загружается при каждом запуске приложения Excel и является всегда открытой, хотя и скрыта,
а записанные в ней макросы доступны для других рабочих книг. Если в раскрывающемся списке выбрать Эта книга (выбор, который по умолчанию предлагает компьютер), то макрос сохранится на новом листе модуля в активной рабочей книге. А если выбрать Новая книга, то макрос сохранится в новой рабочей книге.

4) В режиме записи макроса перейдите на Лист2. Нажмите кнопкуОстановить запись в разделе Код, вкладки Разработчик.

5) Сохраните вашу рабочую книгу в формате, поддерживающем макросы. Для этого щелкните на кнопке Office и далее выполните команду: Сохранить как →в открывшемся окне Сохранение документа в поле Тип файлавыберите Книга Excel с поддержкой макросов. Нажмите Сохранить.

6) Перейдите на вкладку Разработчик. Далее выполните команду: Код → Макросы → в открывшемся окне Макросвыделите имя созданного макроса и нажмите кнопку Изменить. В результате на экране отобразится окно редактора VBA, с активизированным стандартным модулем, в котором будет код (см. листинг 1) только что записанного макроса, см. рис. 2.


Дата добавления: 2018-04-05; просмотров: 359; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!