Запись макросов VBA: макрорекордер (MacroRecorder)

Прежде чем начинать создание макроса, нужно четко сформулировать, что и как он должен делать, а в особо сложных случаях даже построить алгоритм его работы на бумаге.

Основным средством создания макросов является запись последовательности действий с помощью команды меню Сервис→Макрос→Записать (Tools→Macro→Record...). Причем это довольно мало зависит от квалификации пользователя, если она у него вообще есть. Можно сказать, что если он не умеет работать с клавиатурой, то и эту работу сделать не получится.

Для Ленты это будет вкладка Вид⇒Макросы⇒Запись макроса... Или вкладка Разработчик⇒Запись макроса.

Обратите внимание! Начиная с PowerPoint 2010, данная программа не содержит макрорекордера. Записывать программы на VBA можно только вручную, либо воспользовавшись предыдущими версиями. Последний способ прекрасно работает и не вызывает проблем при переносе (они не обнаружены), но нужно учитывать, что развитие объектной модели не позволит воспользоваться всеми возможностями приложения.


Доступ к этим материалам предоставляется только зарегистри­рован­ным пользователям!


После этого выводится диалог

Русский English

в котором надо указать название макроса (можно изменить позднее), место его хранения (обычно шаблон, чаще всего Normal.dot[m]), подключение к кнопке панели инструментов или горячей клавише (необязательно и можно исправить) и желаемое описание. Запись действий начинается после завершения работы с диалогом. Вместо него выводится простейшая панель:

[Recorder Dialog]

позволяющая приостановить запись или прекратить (завершить) её.

В версиях с 2007 данная панель может не выводиться и для остановки придется зайти в соответствующий подпункт названных выше вкладок.


Доступ к этим материалам предоставляется только зарегистри­рован­ным пользователям!


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

После завершения процесса записи, макрос сразу готов к исполнению. См. Запуск макросов.

Имя макропрограммы должно состоять из английских букв, цифр и символов подчеркивания (пробелы запрещены!), но начинаться с буквы.

Использование горячей клавиши для данного варианта рекомендовать не стоит. Случайное нажатие вне процесса разработки может привести к порче документа, которую вы просто не заметите вовремя.

Что происходит в процессе записи?

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

  1. нажатия клавиш, приводящие к вводу текста или перемещению курсора;
  2. выполнение пунктов главного или контекстного меню, исключая нажатия на кнопки в ленте;
  3. всё, что задается диалогами, вне зависимости от способа их открытия;
  4. действия, задаваемые горячими клавишами.

Доступ к этим материалам предоставляется только зарегистри­рован­ным пользователям!


Почему записанный макрос требует редактирования?

Этот вопрос никогда не возникает у тех, кто пытается ограничить себя просто записью последовательности нажатия клавиш. Для тех же, кто любит работать с комфортом, понимание ответа позволит избавить себя от многих мучений.

В-нулевых, это учит программировать! Номер — не описка. Данная причина важнее всех, так как пользователь, разработавший алгоритм действий, намного быстрее поймет то, что записалось в программе, чем кто бы то ни было другой. А любые малопонятные мелочи всегда можно разобрать отдельно с помощью Справки.


Доступ к этим материалам предоставляется только зарегистри­рован­ным пользователям!


Список можно продолжать до бесконечности для особо упёртых...


Copyright © 1993–2021 Мацкявичюс Д.А. Все права защищены.
Никакая часть сайта не может быть воспроизведена никаким способом без письменного разрешения правообладателя и явной ссылки на данный ресурс.