Устали выполнять повторяющиеся задачи в Microsoft Word? В программе похоронен мощный инструмент автоматизации, который может избавить вас от этой работы. Мы говорим о макросах, и хотя эта функция основана на Microsoft Visual Basic для приложений (VBA), вы можете использовать ее, даже если идея кодирования вас не устраивает.
При нажатии кнопки Word записывает ваши действия, создавая макрос, который вы можете воспроизводить так часто, как захотите. Если вы любите приключения, вы можете легко изменить макрос для дополнительной степени автоматизации.
Здесь мы покажем вам один простой, но полезный пример: как автоматизировать функцию поиска и замены Word.
Запись макроса
В этом примере вы уважаемый президент Общества по сохранению старинной стоматологической техники. У вас есть десятки документов Word об исторических зубных протезах и т. Д., И все они содержат заметное упоминание имени общества. Затем внезапно правление голосует за изменение названия на Лигу сохранения стоматологического антиквариата. Теперь вам нужен простой способ обновить документы.
Вы можете начать с нового пустого документа или открыть существующий. Если вы еще этого не сделали, вам нужно включить вкладку «Разработчик».
Идти к Файл> Параметры> Настроить ленту. Справа под Основные вкладки, проверить Разработчик вариант. Выберите ОК и выйдите.
Теперь давайте создадим наш макрос.
- Нажмите Разработчик> Запись макроса.
- Вам будет предложено назвать макрос. Введите «ChangeSocietyName» или любое другое имя, которое вам подходит. При именовании макросов избегайте пробелов, точек, восклицательных знаков и специальных символов, иначе вы получите сообщение об ошибке. Вы можете использовать числа, но первым символом должна быть буква.
- Вы можете назначить макрос кнопке и / или сочетанию клавиш, но это не является обязательным требованием. Если вы выберете кнопку, Word позволит вам добавить ее на панель быстрого доступа. Вы также можете добавить краткое описание макроса.
- Нажмите Ok, и Word теперь будет записывать ваши действия. Ударить Ctrl + H поднять Найти и заменить диалог.
- Введите «Общество сохранения старинной стоматологической техники» в поле «Найти» и «Лига сохранения антиквариата в стоматологии» в поле «Заменить».
- Нажмите Заменить все для выполнения операции поиска и замены. Это единственное действие, которое вы хотите записать. Не имеет значения, заменяет ли макрос какой-либо текст. Дело в том, чтобы сохранить его для других документов.
- Это важно: нажмите Разработчик> Остановить запись. В противном случае макрос будет включать все последующие действия.
А теперь давайте посмотрим на вашу работу. Откройте документ, содержащий название общества. Нажмите Разработчик> Макросы. Если дважды щелкнуть ChangeSocietyName, Word автоматически выполнит операцию «Найти и заменить».
Кончик: Во время записи макроса вам может потребоваться выполнить действие, которое вы не хотите записывать. Например, вы можете захотеть скопировать и вставить текст в диалоговое окно «Найти и заменить», а не вводить его вручную. Нет проблем: просто нажмите Разработчик> Приостановить запись, скопируйте и вставьте текст, затем щелкните Разработчик> Регистратор резюме. Затем вы можете завершить запись макроса, как описано выше.
Хотя мы сосредоточились здесь на Microsoft Word, вы также можете использовать макросы для повышения производительности в Excel. И есть много экономящие время макросы для Microsoft OneNote.
Знаете ли вы, что в Microsoft Excel можно автоматизировать повторяющиеся задачи с помощью макросов? Мы покажем вам, как записать макрос в Excel 2016, чтобы сэкономить много времени.
Погружение в код
Теперь мы более подробно рассмотрим наш новый макрос Word. Идти к Разработчик> Макросы, но вместо двойного щелчка по макросу выберите его и щелкните Редактировать. Откроется редактор Visual Basic, автономная среда для создания приложений VBA.
Это может показаться устрашающим, но вы можете игнорировать меню и большинство панелей. Вместо этого сосредоточьтесь на окне, содержащем код. Как видите, Word только что написал макрос, который выполняет поиск и замену.
Sub ChangeSocietyName ()
'
Макрос ChangeSocietyName
'Переименовать Общество сохранения антикварной стоматологической техники
'
Выбор. Находить. Очистить форматирование
Выбор. Находить. Замена. Очистить форматирование
С выделением. Находить
.Text = "Общество сохранения антикварной стоматологической техники"
.Замена. Text = "Лига сохранения стоматологического антиквариата"
.Forward = True
.Wrap = wdFindContinue
.Format = Ложь
.MatchCase = Ложь
.MatchWholeWord = Ложь
.MatchWildcards = Ложь
.MatchSoundsLike = Ложь
.MatchAllWordForms = Ложь
Конец с
Выбор. Находить. Выполнить замену: = wdReplaceAll
Конец подписки
Давайте объясним, что здесь происходит.
«Подпрограмма» в первой строке является сокращением от «подпрограммы», небольшой программы, которая может работать сама по себе или как часть более крупного приложения VBA. Строки, перед которыми стоят одинарные кавычки, предназначены для комментариев. Кавычки указывают VBA игнорировать любые утверждения в этих строках.
Затем мы переходим к сути кода: коду, который выполняет Найти и заменить операция. Как видите, он определяет значения для каждого параметра в диалоговом окне «Найти и заменить», включая текст и текст замены в кавычках. В Выбор. Находить. Выполнять Команда в конце эквивалентна нажатию кнопки «Заменить все».
Модификация макроса
Чтобы использовать макросы, вам не нужно возиться с кодом или даже смотреть на него. Но вы можете получить больше от этой функции, если захотите погрузиться в нее. Например, предположим, что вы допустили опечатку при записи макроса. Вместо того, чтобы перезаписывать это, вы можете зайти в Visual Basic и исправить.
Вы также можете настроить макрос, чтобы сделать его более полезным, и мы этим и займемся здесь. Когда вы запускаете «Найти и заменить» вручную или с помощью макроса, Word запоминает найденный и заменяющий текст. В следующий раз, когда вы откроете диалоговое окно «Найти и заменить», оно будет выглядеть так.
Было бы лучше очистить значения, чтобы мы получили чистое диалоговое окно. Мы сделаем это с помощью второго макроса, но на этот раз мы сделаем это непосредственно в Visual Basic.
- В редакторе Visual Basic выберите всю подпрограмму от первой строки до End Sub. Ударить Ctrl + C скопировать это.
- Поместите курсор под End Sub и нажмите Ctrl + V. Вы только что продублировали подпрограмму.
- Измените имя с ChangeSocietyName на ClearFindReplace (или любое другое имя, которое вам подходит). Это важно, потому что VBA выдаст сообщение об ошибке, если вы попытаетесь запустить макросы с повторяющимися именами.
- в .Текст и Замена. Текст значения, удалите текст, но оставьте кавычки. По сути, вы говорите Word ничего не найти и ничего не заменить, но вы также очищаете эти значения.
Результат должен выглядеть так:
Sub ClearFindReplace ()
'
'ClearFindReplace Macro
'Очистить текст из диалогового окна "Найти и заменить"
'
Выбор. Находить. Очистить форматирование
Выбор. Находить. Замена. Очистить форматирование
С выделением. Находить
.Text = ""
.Замена. Текст = ""
.Forward = True
.Wrap = wdFindContinue
.Format = Ложь
.MatchCase = Ложь
.MatchWholeWord = Ложь
.MatchWildcards = Ложь
.MatchSoundsLike = Ложь
.MatchAllWordForms = Ложь
Конец с
Выбор. Находить. Выполнить замену: = wdReplaceAll
Конец подписки
Теперь вернемся к макросу ChangeSocietyName. Под кодом поиска и замены, но перед End Sub введите ClearFindReplace (без скобок в конце).
Правильно: вам не нужно вводить весь код, который вы только что создали, только имя макроса.
Sub ChangeSocietyName ()
'
Макрос ChangeSocietyName
'Переименовать Общество сохранения антикварной стоматологической техники
'
Выбор. Находить. Очистить форматирование
Выбор. Находить. Замена. Очистить форматирование
С выделением. Находить
.Text = "Общество сохранения антикварной стоматологической техники"
.Замена. Text = "Лига сохранения стоматологического антиквариата"
.Forward = True
.Wrap = wdFindContinue
.Format = Ложь
.MatchCase = Ложь
.MatchWholeWord = Ложь
.MatchWildcards = Ложь
.MatchSoundsLike = Ложь
.MatchAllWordForms = Ложь
Конец с
Выбор. Находить. Выполнить замену: = wdReplaceAll
ClearFindReplace
Конец подписки
Когда Word запускает ChangeSocietyName, сначала выполняется исходная функция «Найти и заменить». Затем он интерпретирует ClearFindReplace как команду для запуска второго макроса.
Идем дальше с VBA
Как видите, функция записи макросов Word может помочь вам сэкономить время множеством способов. Вы можете создавать макросы для автоматизации практически любой операции, а в редакторе Visual Basic вы можете настроить макросов, вставьте один макрос в другой или создайте подпрограмму, которая выполняет несколько макросов один после Другой.
Поскольку VBA является полноценным языком программирования, вы можете включать подпрограммы в более крупные приложения с переменными, циклами, условными операторами и т. Д. И как только вы изучите основы VBA в Word, вы сможете применить многие из этих знаний для создания макросов в Microsoft Excel и Access.
Чтобы пойти дальше, вы захотите узнать больше о соглашениях VBA и редакторе Visual Basic, например о том, как организовать свой код и как бороться с ошибками. Но даже если вы хотите придерживаться простых функций, подобных описанным здесь, вы можете значительно улучшить свою продуктивность.
Если вы регулярно используете Excel, стоит научиться создавать макросы VBA и получить доступ ко многим другим функциям и возможностям.
- Продуктивность
- Microsoft Word
- Microsoft Office 365
- Microsoft Office 2016
- Советы по Microsoft Office
- Microsoft Office 2019
- Макросы
Стивен Бил - давний технический писатель из Сан-Франциско. Он является автором множества книг о компьютерных приложениях в издательском деле и графическом дизайне, в прошлом - редактор новостей и обзоров Macworld. В настоящее время он руководит популярным сайтом для энтузиастов стимпанка The Steampunk Explorer.
Подписывайтесь на нашу новостную рассылку
Подпишитесь на нашу рассылку, чтобы получать технические советы, обзоры, бесплатные электронные книги и эксклюзивные предложения!
Еще один шаг…!
Пожалуйста, подтвердите свой адрес электронной почты в электронном письме, которое мы вам только что отправили.