Автоматическая запись макроса
Если, например, при работе с MS Excel у вас возникла необходимость несколько раз выполнить одну и ту же последовательность действий, то вы можете автоматически, с помощью макрорекордера (Macro Recorder), записать эту последовательность как макрос. Макрос записывается на языке VBA. Правила выбора модуля, в котором макрорекордер сохраняет макрос, являются достаточно сложными [1]. Записанный макрос можно вызывать для выполнения из основного меню, а также путем нажатия назначенной комбинации клавиш. Текст макроса можно редактировать. Пример. К часто повторяющимся действиям можно отнести выбор нужного формата ячеек. Создадим макрос, который устанавливал бы выравнивание содержимого по горизонтали «по центру» и определенный цвет фона любого выделенного диапазона ячеек. Для этого:
· завершим запись макроса, нажав на кнопку «Остановить запись», или выполнив команду меню Сервис | Макрос | Остановить запись. Теперь, чтобы отформатировать в данной книге Excel любой диапазон ячеек соответствующим образом (выровнять их содержимое «по центру» и выделить светло-бирюзовым цветом), необходимо выделить этот диапазон и запустить макрос CellFormat из меню Сервис | Макрос | Макросы | Выполнить или нажав комбинацию клавиш Ctrl+f. Проанализируем код макроса CellFormat, записанного при помощи макрорекордера (он записал его в модуль Module 1):
Макрорекордер использовал особую структуру: With Object ' операторы, использующие свойства и методы Object End With позволяющую ссылаться на ряд свойств или методов, принадлежащих одному и тому же объекту, без задания полной объектной ссылки каждый раз (подробнее об этом - в разделе 10). В макросе CellFormat устанавливаются свойства выбранного объекта Selection (в нашем случае - любой диапазон ячеек Excel). Поскольку мы устанавливали только свойства: HorizontalAlignment = xlCenter - выравнивание (Alignment) по горизонтали «по центру» и цвета с кодом 34 (светло-бирюзовый), а остальные свойства ячейки не меняли, т.е. их значения используются по умолчанию, то исходный код макроса можно отредактировать вручную, удалив стандартные установки:
Замечание. Как отмечалось в разделе 2, строки комментариев начинаются знаком апострофа (одинарная кавычка) и выделены зеленым цветом. Таким образом, при изучении приемов программирования на VBA, весьма полезным и эффективным является анализ кодов различных макросов, записанных автоматически при помощи макрорекордера.
|