Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование на Visual Basic и Visual Basic for Applications.doc
Скачиваний:
175
Добавлен:
01.05.2014
Размер:
579.07 Кб
Скачать

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

Microsoft Excel имеет средство для записи макроопределений – макрорекордер. Он записывает последовательность нажатия клавиш и перемещений мыши в виде операторов языка Visual Basic. Тексты программ на языке Visual Basic хранятся в специальных листах рабочей книги, называемых модулями. Для записи первого макроса Excel вставляет в рабочую книгу рабочий лист, которому по умолчанию присваивается имя Модуль1 (Module1).

Первому макросу присваивается имя Макрос1 (Macros1), второму – Макрос2 (Macros2) и т.д. Можно дать макросу другое имя, а в поле ОПИСАНИЕ (Descrition) прокомментировать его. Если щелкнуть на кнопке ПАРАМЕТРЫ (Options), можно назначить клавишу быстрого вызова или новый пункт меню СЕРВИС. Кроме того, можно указать, где сохранить макрос: в текущей рабочей книге, в персональной книге макросов или в новой рабочей книге.

Чтобы записать макрос, надо выполнить команду СЕРВИС / ЗАПИСЬ МАКРОСА / ЗАПИСАТЬ НОВЫЙ МАКРОС (Tools / Record Macro / Record New Macro) или нажать кнопку с темным треугольником на панели Visual Basic.

Макрос можно создать и по-другому: вставить в рабочую книгу новый лист типа МОДУЛЬ и выполнить команду ВСТАВКА / МАКРОС / МОДУЛЬ (Insert / Macro / Module) – новый лист будет вставлен перед активным листом рабочей книги. Можно также щелкнуть на ярлыке рабочего листа правой клавишей мыши и в контекстном меню выбрать ВСТАВКА – откроется диалог, в списке которого выбрать МОДУЛЬ. После открытия листа в окне редактора набрать текст подпрограммы, затем закрыть диалог щелчком на ОК. Новый лист будет вставлен перед тем листом, на ярлыке которого был щелчок правой кнопкой. Можно вставить модуль в рабочую книгу, щелкнув на кнопке ВСТАВКА_МОДУЛЯ панели инструментов Visual Basic.

После щелчка на ОК, начнется запись макроса; в строке состояния высвечивается слово ЗАПИСЬ (Record). Для остановки записи нажать кнопку ОСТАНОВИТЬ_ЗАПИСЬ (Stop Recording) – темный квадрат, или выполнить СЕРВИС / ЗАПИСЬ МАКРОСА / ОСТАНОВИТЬ (Tools / Record Macro / Stop Recording).

Макрос оформляется, как подпрограмма языка Visual Basic: начинается словом Sub и заканчивается End Sub.

Для записи макроса с относительными ссылками, надо выполнить СЕРВИС / ЗАПИСЬ МАКРОСА / ИСПОЛЬЗОВАТЬ ОТНОСИТЕЛЬНЫЕ ССЫЛКИ (Tools / Record Macro / Use Relative References).

Для выполнения макроса выполнить СЕРВИС / МАКРОС, выбрать макрос, щелкнуть на кнопке ВЫПОЛНИТЬ. Если щелкнуть на кнопке ШАГ, работа будет приостанавливаться после выполнения каждой команды.

Для установки быстрых клавиш или команд меню выбрать СЕРВИС / ПАРАМЕТРЫ (Options) и в диалоге выбрать клавишу или назначить команду. Если перед какой-либо буквой в имени команды поставить &, то эта буква станет подчеркнутой и будет означать быструю клавишу для этой команды. Буквы A, a, c, f, g, h, r, u, v, x, y и z в комбинации с Ctrl использовать нельзя.

Макрос может быть записан: 1) в личную рабочую книгу, то есть в файл с именем person.xls в каталоге XLSTART, 2) в текущую рабочую книгу, 3) в новую рабочую книгу. В двух последних случаях макрос доступен, если эти книги загружены. Макросы из личной рабочей книги доступны всегда. Она загружается вместе с Excel, команда ОКНО / ПОКАЗАТЬ делает ее видимой.

Для изменения макроса надо либо непосредственно редактировать его в рабочем листе, либо создать его заново. Можно также продолжить запись макроса с определенной позиции: 1) перейти в рабочий лист макроса и выполнить СЕРВИС / ЗАПИСЬ МАКРОСА / ОТМЕТИТЬ ПОЗИЦИЮ (Tools / Record Macro / Mark Position for Recording); 2) указать курсором позицию, с которой будет продолжена запись макроса; 3) перейти в нужный рабочий лист, выполнить СЕРВИС / ЗАПИСЬ МАКРОСА / ЗАПИСАТЬ С ОТМЕТКИ (Tools / Record Macro / Record of Mark) и продолжить работу.