Макрорекордер — универсальный помощник
Для автоматического создания макросов служит макрорекордер. С помощью макрорекордера можно записывать действия, которые мы выполняем в программе. Например, записывается ввод и удаление текста, нажатие на кнопки вкладок, форматирование текста и так далее.
Пример задачи, решаемой с помощью авторекодера:
Необходимо отформатировать довольно большой документ в кратчайшие сроки. А именно — выделить четырьмя стилями некоторые слова.
Алгоритм работы с макрорекордером выглядит так:
1. Включить запись макроса, настроив некоторые параметры;
2. Выполнить действия, которые вы хотели бы автоматизировать;
3. Остановить запись;
4. Использовать записанный макрос по необходимости.
Макрорекордер, помимо написания макросов, поможет вам лучше изучить возможности VBA и тонкости объектных моделей приложений Office (мы поговорим о них ниже). Например, вы не знаете точно, как именно реализовать то или иное действие программно, но знаете, как это делается вручную. Просто запишите макрос с нужными вам действиями, а потом откройте его в редакторе VBA. Вы сможете проанализировать полученный код, а возможно и включить его фрагменты в свое приложение.
Лучший способ освоить макрорекордер — это попытаться самостоятельно записать макрос.
Форматирование текста в MS Word
Запишем в Microsoft Word макрос, который по нажатию комбинации клавиш форматирует выделенный текст определенным образом.
Задание
Создать макрос в Microsoft Word, который автоматически форматирует выделенный текст следующим образом:
· Шрифт: Times New Roman, 14-й, курсивный
· Цвет шрифта: красный
Назначить вызов макроса по нажатию комбинации клавиш Alt + Ctrl + Shift + A и по нажатию настраиваемой кнопки.
Решение
Выделим первый участок текста, который нужно отформатировать.
Прежде чем записывать макрос, важно очень точно спланировать свои действия. Если вы что-то сделаете не так во время записи, неправильные действия будут записаны в макрос. Например, выделять текст нужно до начала записи. Иначе в макрос попадет команда выделения текста и каждый раз после запуска программа будет выделять текст, а нам это не нужно.
Выберем вкладку ленты Вид и нажмем на ней направленную вниз треугольную стрелку под надписью Макросы.
В открывшемся меню нам нужна команда Запись макроса.
Появится окно для настройки свойств макроса. Рассмотрим поля этого диалога.
Имя макроса: в это поле нужно ввести имя макроса. Имена макросов должны начинаться с буквы, не должны содержать пробелов. Желательно давать макросам какие-нибудь осмысленные имена. Например, Формат_Times_Красный.
Назначить макрос кнопке: диалоговое окно назначения макроса настраиваемой кнопке.
Назначить макрос клавишам: диалоговое окно назначения макроса сочетанию клавиш на клавиатуре.
В поле Макрос доступен для надо выбрать место сохранения макроса, которое определяет его доступность для различных документов. По умолчанию здесь выбран параметр Всех документов ( Normal.dotm ).
Normal.dotm —это общий шаблон, доступный для всех документов Microsoft Word. Если макрос будет сохранен в Normal.dotm — вы сможете запустить его из любого Word-документа. Не следует сохранять все записываемые вами макросы в Normal.dotm. Делайте это лишь тогда, когда вы точно уверены в том, что макрос понадобится вам в различных документах. Мы выберем в этом поле значение Документ 1 (документ). Именно так здесь называются еще не сохраненные документы. Выбрав этот пункт, мы сохраняем макрос в текущем документе, то есть сможем вызывать макрос лишь из этого документа.
В поле Описаниесодержится описание макроса. Вы вполне можете оставить его пустым.
Кнопка OK начинает запись макроса. Но до начала записи воспользуемся кнопкой Назначить макрос клавишам. Появится окно настройки комбинации клавиш для запуска макроса.
Чтобы назначить макросу сочетание клавиш, нужно установить курсор в поле Новое сочетание клавиш и нажать нужное сочетание на клавиатуре. В случае, если это сочетание не назначено ранее для быстрого вызова каких-либо команд, под полем Текущие сочетания вы увидите надпись Текущее назначение: [нет]. Если вы увидите здесь что-нибудь другое — лучше всего поискать свободное сочетание. Иначе вы можете столкнуться с неожиданным поведением знакомых вам горячих клавиш.
В поле Сохранить изменения в выберем Документ 1 — то есть наш документ, который мы в данный момент редактируем. По умолчанию здесь установлен уже знакомый вам Normal.dotm. Сохранять привязку сочетаний клавиш к макросам в Normal.dotm следует лишь в том случае, если вы, во-первых, на предыдущем шаге сохранили макрос в Normal.dotm, а во-вторых, хотите, чтобы данное сочетание работало во всех остальных документах MS Word, а не только в текущем документе.
Теперь нажмем на кнопку Назначить. Выбранное сочетание клавиш переместиться в поле Текущие сочетания. Нажав кнопку Закрыть, мы завершаем настройку горячих клавиш для нашего будущего макроса и начинаем его запись.
В процессе записи макроса указатель мыши дополняется значком с изображением кассеты. Щелчок правой кнопкой не действует. Поэтому нам нужно отформатировать текст, пользуясь вкладками ленты Microsoft Word. Так и поступим. Настроим необходимые параметры форматирования, снова перейдем на вкладку Вид и нажмем там на кнопку Остановить запись
Обратите внимание на кнопку Пауза. С ее помощью можно приостановить запись макроса, выполнить какие-нибудь действия, которые не войдут в него, после чего возобновить запись.
После записи макроса самое время его протестировать. Для этого выделим текст и нажмем Ctrl + Alt + Shift + A. Если все сделано правильно — текст будет отформатирован.
Но мы выполнили не все части задания. Как вы помните, нужно было настроить запуск макроса с помощью кнопки.
Для этого нажмите кнопку настройки панели быстрого доступа (она находится справа от панели) и в появившемся меню выберите пункт Другие команды. Появится окно для настройки команд Microsoft Word.
В списке Выбрать команды из выберите Макросы.
В поле, которое расположено ниже, появятся ссылки на доступные макросы. Выделите нужный и нажмите на кнопку Добавить>>. Ссылка на него появится в поле Настройка панели быстрого доступа. В списке настройки этого поля выберем документ, который мы в данный момент редактируем — тем самым мы внесем изменения лишь в панель быстрого доступа этого документа.
На этом можно завершить настройку. Однако, кнопка макроса, которая появится на панели быстрого доступа, будет выглядеть не слишком привлекательно. Поэтому выделим строку макроса в окне Настройка быстрого доступа и нажмем на кнопку Изменить. Появится окно настройки свойств кнопки макроса.
Здесь вам нужно выбрать понравившийся значок для кнопки макроса и ввести в поле Отображаемое имя текст, который будет появляться при наведении на кнопку вызова макроса указателя мыши. Вот, что получилось в итоге.
Сохраняя файл Microsoft Word, содержащий макросы, обязательно убедитесь в том, что вы сохраняете его в формате .docm (Документ Word с поддержкой макросов ). Дело в том, что используемый по умолчанию формат .docx (Документ Word) не поддерживает макросы. Если вы сохраните документ с макросами в таком формате, результаты работы будут утеряны.
Теперь вы научились созданию макросов с помощью макрорекордера. Уже сейчас вы можете автоматизировать некоторые часто выполняемые операции. Например, ввод с клавиатуры больших повторяющихся участков текста.
Чтобы использовать макросы — свои и тем более созданные другими — вам, возможно, понадобится изменить настройки безопасности Microsoft Office.
Макросы и безопасность
Microsoft Office снабжен собственной системой безопасности, основная задача которой — противодействие проникновению макровирусов — вредоносных программ на языке VBA.
Макровирусы — это основная проблема, которую породил язык программирования, встроенный в офисные программы. Безопасность работы с макросами сводится к очень простому правилу: не следует разрешать выполнение макросов, если вы не знаете точно, для чего нужны эти макросы.
Если вы открываете документ, который содержит подозрительный, с точки зрения системы, макрос, при настройках безопасности по умолчанию этот макрос блокируется. В Microsoft Word выводится такое сообщение
Если нажать на кнопку Параметры, которая находится в правой части панели сообщений, появится окно настройки свойств макроса. С помощью этого окна мы можем либо разрешить выполнение макросов в открытом документе, выбрав пункт Включить это содержимое, либо запретить, выбрав Установить защиту от неизвестного содержимого.
Для настройки системы безопасности в Microsoft Word нажмите на кнопку Microsoft Office, далее — на кнопку Параметры Word. В левой части появившегося окна выберите пункт Центр управления безопасностью. На странице центра управления безопасностью нажмите кнопку Параметры центра управления безопасностью. Появится окно настройки параметров макросов.
Практика показывает, что при интенсивном использовании собственных макросов, удобнее и безопаснее всего использовать пункт, установленный по умолчанию — Отключить все макросы с уведомлением. Даже если сообщения системы безопасности кажутся вам слишком назойливыми — не стоит поддаваться искушению и активировать пункт Включить все макросы. Ведь так вы ставите вашу систему под угрозу. Даже используя антивирусное ПО, нельзя забывать о потенциальной опасности макросов.
Особый интерес представляет пункт Отключить все макросы кроме макросов с цифровой подписью. Активировав его, вы сможете спокойно запускать макросы, которые вы создали и подписали сами.
Подробности о цифровой подписи вы найдете во второй главе — там, где мы будем знакомиться с редактором VBA.
Теперь, когда мы обсудили безопасность макросов, давайте поговорим о макросах в Microsoft Excel.