Делаем макросы
Допустим нам требуется распечатать исходный текст некого документа, да не просто, а красиво. Например, хочется выделить в тексте документа текст в фигурных скобках курсивом.
Для документа, занимающего несколько страниц, вручную выделять все такие тексты - долго и утомительно. Так давайте напишем макрос!
Создание макроса
Итак, начнем: меню Сервис - Макрос - Начать запись.
Делаем доступным макрос для всех документов и приступаем к записи нажав кнопку ОК.
Производим переход в начало файла - жмем Cntrl + Home. Вызываем меню Найти и заменить, вводим текст для поиска "{" и жмем Найти. На первом найденном символе закрываем окно поиска. Далее, держа нажатой клавишу Shift, стрелками курсора выделяем текст внутри фигурных скобок включая символ "}". После этого делаем начертание выделенного текста курсивом.
Останавливаем запись макроса.
Теперь идем в редактор Microsoft Visual Basic (Сервис - Макрос - Редактор Visual Basic) и ищем там наш макрос. Он имеет следующий вид:
Sub Макрос1() ' ' Макрос1 Макрос ' Макрос записан 11.11.2007 ' Selection.HomeKey Unit:=wdStory Selection.Find.ClearFormatting With Selection.Find .Text = "{" .Replacement.Text = "" .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Selection.MoveRight Unit:=wdCharacter, Count:=14, Extend:=wdExtend Selection.Font.Italic = wdToggle End Sub
Удалив лишнее получим следующий текст макроса:
Sub Макрос1() ' ' Макрос1 Макрос ' Макрос записан 11.11.2007 ' Selection.HomeKey Unit:=wdStory Selection.Find.ClearFormatting Selection.Find.Text = "{" Selection.Find.Execute Selection.MoveRight Unit:=wdCharacter, Count:=14, Extend:=wdExtend Selection.Font.Italic = wdToggle End Sub
Теперь добавим цикл по символам для нахождения "}" и выделим необходимое число символов для форматирования в начертание курсивом:
Sub Макрос1() ' ' Макрос1 Макрос ' Макрос записан 11.11.2007 ' Selection.HomeKey Unit:=wdStory Selection.Find.ClearFormatting Selection.Find.Text = "{" Selection.Find.Execute i = 0 While Selection.Text <> "}" Selection.MoveRight Unit:=wdCharacter, Count:=1 i = i + 1 Wend Selection.MoveRight Unit:=wdCharacter, Count:=1 i = i + 1 Selection.MoveLeft Unit:=wdCharacter, Count:=i, Extend:=wdExtend Selection.Font.Italic = True Selection.MoveRight Unit:=wdCharacter, Count:=1 End Sub
Осталось добавить цикл по всему документу:
Sub Макрос1() ' ' Макрос1 Макрос ' Макрос записан 11.11.2007 ' Selection.HomeKey Unit:=wdStory Selection.Find.ClearFormatting Selection.Find.Text = "{" While Selection.Find.Execute=True i = 0 While Selection.Text <> "}" Selection.MoveRight Unit:=wdCharacter, Count:=1 i = i + 1 Wend Selection.MoveRight Unit:=wdCharacter, Count:=1 i = i + 1 Selection.MoveLeft Unit:=wdCharacter, Count:=i, Extend:=wdExtend Selection.Font.Italic = True Selection.MoveRight Unit:=wdCharacter, Count:=1 Wend End Sub
На этом все. Макрос готов к работе.
Переименование макроса
- В меню Сервис выберите команду Шаблоны и надстройки.
- Нажмите кнопку Организатор.
- Откройте вкладку Макросы.
- Для документа или шаблона в поле В выберите макрос, который необходимо переименовать, и нажмите кнопку Переименовать.
- В диалоговом окне Переименование введите новое имя.
- Нажмите кнопку OK, а затем — кнопку Закрыть.
Удаление макроса
- Удаление отдельного макроса
- В меню Сервис выберите команду Макрос, а затем — команду Макросы.
- Выберите имя макроса, который требуется удалить, в списке Имя.
- Если нужного макроса нет в списке, выберите другой документ или шаблон в списке Макросы из.
- Нажмите кнопку Удалить.
- Удаление проектов макросов
- В меню Сервис выберите команду Макрос, а затем — команду Макросы.
- Нажмите кнопку Организатор.
- На вкладке Макросы выберите проект макроса, который требуется удалить из какого-либо списка, а затем нажмите кнопку Удалить.
- Проекты макросов, которые используются в активном документе, выводятся в списке слева, а проекты макросов в шаблоне Normal.dot — в списке справа.
Определения
Макрос
Действие или набор действий, используемые для автоматизации выполнения задач. Макросы записываются на языке программирования Visual Basic для приложений (VBA).
Шаблон
Файл или файлы, содержащие структуру и инструменты для создания таких элементов законченных файлов как стиль и макет страницы. Например, шаблоны Microsoft Word позволяют создавать отдельные документы, а шаблоны Microsoft FrontPage — целые веб-сайты.
Проект макроса
Совокупность компонентов, в том числе форм, текста программы и модулей классов, которые составляют макрос. Проекты макросов, созданные в редакторе Microsoft Visual Basic для приложений, можно включать в надстройки и большинство приложений Microsoft Office.
Шаблон Normal.dot
Универсальный шаблон для любых типов документов. Для изменения стандартного форматирования или содержимого документа в этот шаблон можно внести необходимые изменения.
Активный документ.
Документ, с которым в настоящий момент выполняется работа. Ввод текста и вставка рисунков в Microsoft Word осуществляются в активном документе. Область заголовка активного документа выделена цветом.