Офисные правила: работа с макросами

Офисные правила: работа с макросами

У каждого опытного пользователя интерфейс Microsoft Word уникальный и изменяется в зависимости от того, какие инструменты ему больше всего необходимы в работе. Вы вряд ли встретите одинаковые панели или пункты главного меню: для того чтобы сделать работу наиболее удобной, каждый стремится настроить программу по-своему. Однако иногда вынесения основных команд на панель инструментов и создания пользовательских меню недостаточно. Если работа однообразная, пользователю приходится часто повторять те или иные команды в определенной последовательности (например, замена участков текста на полужирный курсив, кегль 16, шрифт Times New Roman). Для того чтобы произвести такое небольшое форматирование, может понадобиться достаточно много времени, особенно если в тексте выделить таким образом нужно несколько десятков слов. Получается, что для каждого участка нужно проделывать четыре операции. Можно, конечно, отформатировать только один участок и далее воспользоваться командой Копировать по образцу, однако это не всегда удобно и эффективно. В этом случае лучше воспользоваться макросами — небольшими программами на языке Visual Basic. Они могут помочь не только если требуется много раз выполнить сложное форматирование, но и при вставке объектов, печати выделенного текста и в других случаях. О них мы сегодня и поговорим.

Макросы выполняются в активном документе. Действие некоторых макросов зависит от позиции вставки. Другие могут обращаться только к определенному объекту, например, к абзацу или выделенному участку текста. В этом случае перед его выполнением нужно выбрать этот элемент. Если же макрос не обращается к определенному объекту (например, переход к следующему окну), его можно выполнить в любое время.
Макросы можно разделить на внутренние и внешние. Внутренние внедряются непосредственно в документ или шаблон и могут быть выполнены только если пользователь работает с данным файлом. Их преимущество в том, что они путешествует по жесткому диску, а также с компьютера на компьютер вместе с документом. Внешний макрос можно применять в том случае, если он полезен при работе с разными документами. Его можно использовать для работы с любыми документами, а также свободно переносить с компьютера на компьютер. Для создания внешнего макроса его нужно сохранить с расширением *.bas.

Самый простой способ создания макроса — запись нужных действий в документе. Записав последовательность команд один раз, можно будет вызывать макрос одним щелчком мыши, когда нужно будет выполнять такие же действия. Для записи макросов необходимо выполнить команду Сервис — Макрос — Начать запись (Tools — Macro — Record New Macro) (рис.1) или же кликнуть два раза по строке состояния ЗАП (REC). В появившемся окне (рис.2) необходимо дать макросу имя, а также ввести его описание. Последнее очень поможет в дальнейшем, особенно если вы пользуетесь более чем десятью макросами. Макрос может запускаться с панелей инструментов (из главного меню) или же при помощи клавиатурной комбинации. Определить это можно в том же окне, нажав на кнопки Определить макрос панелям или Определить макрос клавишам. Однако при создании элемента на панели управления ему также можно назначить горячие клавиши вызова.

Если мы решили, что макрос будет красоваться на панели инструментов, перед его записью необходимо остановиться на некоторых деталях. При нажатии на кнопку с изображением молотка появится окно Настройка (Customize). В нем можно будет перетащить макрос на требуемую панель инструментов или в пункт главного меню, а также установить для него подходящую иконку и настроить. Напомним, что настройка любого элемента панели управления или пункта главного меню производится при клике на него правой кнопкой мыши (при этом обязательно должно быть открыто окно Настройка (Customize)). Кстати говоря, для макроса можно создать и собственную панель управления. Для этого в окне Настройка нужно перейти на закладку Панели инструментов (Toolbars) и воспользоваться кнопкой Создать (New). Для того чтобы создать новое меню, перейдите на закладку Commands (Команды) и в списке Categories (Категории) выберите строчку New Menu (Новое меню). В списке Commands (Команды) появится команда New Menu. Захватите мышкой эту команду и перетащите в строку меню.

Теперь можно назначить макросу какую-нибудь комбинацию клавиш. Нажмите на кнопку Клавиатура (Keyboard) в окне Настройка и в появившемся окне отыщите сначала категорию, в которую вы поместили макрос, а затем — сам элемент. Теперь в строке Новое сочетание клавиш (Press New Shortcut Key) введите нужную комбинацию. Обычно удобно использовать горячие клавиши F1-F12, а также сочетания цифр и клавиш Alt и CTRL. Заметим, что, если вам не требуется создавать кнопку на панели инструментов, вы можете выбрать кнопку Назначить макрос клавишам сразу же.
Теперь, когда подготовительная работа завершена, перейдем наконец к записи макроса. Она начнется сразу же после того, как вы нажмете кнопку Закрыть в окнах с настройками. Вы сразу это увидите, так как на рабочей области возникнет небольшая панель с двумя кнопками — Остановить запись и Поставить на паузу. Теперь можно выполнять нужные действия. Создадим, например, макрос, с помощью которого можно будет одним нажатием мышки применить к выделенному участку текста "шрифт Arial полужирный курсив кегль 18". Когда панель, возвещающая о начале записи макроса, возникла, выполняем команду Формат — Шрифт (Format-Font) и выбираем требуемый шрифт, стиль и размер. После нажатия кнопки ОК останавливаем запись. Макрос готов. Теперь к шаблону Обычный (Normal) добавлен такой текст макроса:

Sub Arial_18_bold_italic()
'
' Arial_18_bold_italic Macro
' Arial 18 Полужирный курсив
'
With Selection.Font
.Name = "Arial"
.Size = 18
.Bold = True
.Italic = True
.Underline = wdUnderlineNone
.UnderlineColor = wdColorAutomatic
.StrikeThrough = False
.DoubleStrikeThrough = False
.Outline = False
.Emboss = False
.Shadow = False
.Hidden = False
.SmallCaps = False
.AllCaps = False
.Color = wdColorAutomatic
.Engrave = False
.Superscript = False
.Subscript = False
.Spacing = 0
.Scaling = 100
.Position = 0
.Kerning = 0
.Animation = wdAnimationNone
End With
End Sub

Наверняка тому, кто не знаком с программированием, такой текст покажется очень сложным, однако при ближайшем рассмотрении оказывается, что это — простой набор параметров, установленных и неустановленных. Установленный параметр обозначается словом "True", а неустановленный — "False". Тут стоит заметить, что для записи макросов, равно как и для других команд, в Microsoft Word используется язык Visual Basic for Applications (VBA — Visual Basic для приложений). Макрос представляет собой набор команд и операторов на VBA. Каждая команда и действие в "Ворде" представлены в виде строк формата VBA, процесс записи макроса тоже представляет собой формирование таких строк. Таким образом, пользователь имеет возможность изменить или создать с самого начала макрос без повторного выполнения всей процедуры. Хотя макрос VBA можно создать в любом текстовом редакторе, не стоит пренебрегать возможностью записи макроса. Макрос, созданный записью в Microsoft Word, можно использовать не только для дальнейшего расширения путем добавления новых команд и функций, но и для изучения языка Visual Basic для приложений.
Visual Basic Editor включает возможности, которые позволяют работать с макросом: тестировать, отлаживать, запускать на выполнение. Используя этот редактор, можно добавлять, изменять и удалять объекты в макросах, создавать пользовательские окна диалога, отлаживать код программных процедур, просматривать и выбирать компоненты текущих проектов и библиотек, определять вид и поведение объектов макроса во время выполнения и многое другое.
Теперь самое время проверить работу нашего макроса. Берем любой текст, выделяем требуемый участок и вызываем макрос (мы назначили сочетание клавиш ALT+5). И вот — одним нажатием такой потрясающий результат (рис.3).

Часто бывает так, что внутренний макрос может оказаться полезным для сотрудников, друзей или просто при работе на другой машине. В таком случае просто необходимо экспортировать его во внешний. Делается это очень просто. Для начала нужно выполнить команду Сервис — Макрос — Макросы (Tools — Macro — Macros) и в появившемся списке (рис.4) выбрать нужный макрос. Теперь нажимаем кнопку Изменить (Edit), после чего откроется окно VBA. Вы увидите исходный текст макроса, который доступен для редактирования. Для экспорта файла выполните команду Файл — Экспорт (File-Export) и укажите для него расширение *.bas.

Таким же образом можно импортировать внешний макрос в документ. Выбрав структуру требуемого шаблона или документа в окне VBA, нужно выполнить команду Файл — Импорт, выбрать внешний макрос и открыть его.
Выполнять макросы можно не только при помощи назначенной комбинации клавиш или кнопок на панели инструментов, но и через окно Макрос (Сервис — Макрос — Макросы). В списке макросов выбирается нужный и нажимается кнопка Выполнить (Run). Некоторые макросы могут выполняться при каждом запуске Microsoft Word. Для этого макросу нужно дать имя AutoExec. Поскольку все привычные для пользователя команды Microsoft Word тоже являются макросами, их можно выполнять через окно Макрос. Для того чтобы увидеть их полный перечень, нужно выбрать строку Команд Word (Word Commands) в поле Макросы из (Macros in).

Заканчивая рассказ о работе с макросами в Microsoft Word, хотим отметить, что именно макросы являются не только очень удобным для работы, но и не менее удобным средством перенесения вирусов с одного компьютера на другой. Поэтому относитесь к макросам, полученным из неизвестных или непроверенных источников, осторожно. Для того чтобы программа предупреждала вас о том, что в открываемом документе содержатся макросы, установите уровень доверия к макросам. Делается это в диалоговом окне Безопасность (Security) (рис.5), которое вызывается выполнением команды Сервис — Макрос — Безопасность (Tools — Macro — Security). Тут можно выбрать один из трех вариантов доверия:
• низкий, при котором будут без запроса открываться все документы, содержащие макросы;
• средний, при котором программа будет при открытии документа спрашивать, хотите ли вы запустить макрос;
• высокий, при котором будут открываться документы, содержащие только те макросы, которые вы укажете на закладке Trusted Sources.
На этом все. Желаем, чтобы макросы приносили вам только облегчение в работе, и никаких проблем с ними не возникало!

Сергей Бондаренко,
Марина Двораковская,
blackmore_s_night@yahoo.com



Компьютерная газета. Статья была опубликована в номере 18 за 2003 год в рубрике soft :: текст

©1997-2024 Компьютерная газета