Советы и лайфхаки

Макрос ворд – Как создать макросы в «Ворде»

Эти удобные макросы Word. Чем они полезны для переводчика?

Чем они полезны переводчикам?

Бывают вещи старые, но не устаревшие и вполне функциональные. Например, макросы Word.

Использовала их в работе еще в начале 2000-х, потом забросила. Теперь же после вебинара IAPTI решила, что напрасно я так с ними.

Многие актуальные для переводчиков функции макросов взяли на себя инструменты CAT, но ситуации бывают разные.

Поэтому создам себе пару полезных макрокоманд, а заодно оставлю инструкции здесь.

Подготовка макроса

Создание любого макроса сводится к трем шагам (меню Вид > Макросы / View > Macros).

– Укажите имя для макроса: например, Cleaning. (Важный момент: в имени макроса недопустимы пробелы.)
– Укажите, где будет выполняться этот макрос: выберите кнопку. (Ее можно поместить на панель задач или связать с клавиатурой.)
– Укажите, что будет выполняться после нажатия кнопки: запись всех действий пользователя.

Приступая к созданию макроса, предварительно составьте «список пожеланий»

, продумав все операции, которые вы будете применять, приводя документы в надлежащий вид.

Мой базовый макрос будет представлять собой последовательность действий по очистке текста — одним щелчком мыши и без особых сложностей.

Предварительный список действий выглядит так:

  • удаление двойных и лишних пробелов;
  • удаление пробелов после открывающих скобок;
  • удаление пробелов перед закрывающими скобками;
  • удаление пробелов перед пунктуационными знаками;
  • удаление лишних символов табуляции в начале абзаца.

Подготовив список и открыв новый документ, выполните команду Запись макроса (Record Macro) из того же меню. Введите имя и не забудьте выбрать подходящий значок для макроса, когда добавите его на панель задач (кнопка Изменить / Modify). Word перейдет в режим записи: возле указателя мыши появится кассета (все та же, что и 15 лет назад).

Открываем окно Найти и заменить 

(Find and Replace), щелкаем на кнопке Больше (More). В раскрывающемся списке Специальный (Special) находим опцию Пустое пространство (White spaces). Заменяем на один пробел и выполняем Заменить все (Replace All). Важный момент: появившееся оповещение закрываем только кнопкой ОК.

Следующим пунктом в поле Найти (Find what) идут пробел перед точкой — заменяем на точку, пробел перед запятой — на запятую, затем все остальные интересующие нас знаки. И далее по списку: скобка с последующим пробелом > скобка, пробел и последующая скобка > скобка. Удаляем лишние символы табуляции в начале абзаца: знак абзаца, знак табуляции (специальные > ^p^t) заменить знаком абзаца.

Закончив все необходимые замены, закрываем диалоговое окно. Выполняем Макрос > Остановить запись (Macros > Stop Recording).

Редактирование макроса

Если при подготовке макроса для очистки текста вы забыли добавить к нему определенные операции, ничего страшного. Пусть наш макрос убирает пробел перед двоеточием (квадратными скобками, кавычками и пр.).

Для редактирования готового макроса снова выполняем Вид > Макросы > Макросы. Выбираем нужный макрос, щелкаем на кнопке Изменить (Edit) — и видим язык программирования Visual Basic.

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

В моем случае фрагмент начинается с Selection.Find.Execute Replace:=wdReplaceAll и заканчивается на End With.

Копируем и вставляем фрагмент замены, меняем знак на двоеточие, закрываем окно. Обновления сохраняются автоматически. Готово и работает!

По тому же принципу убираем из макроса лишние пункты, если они бесполезны или мешают.

Экспорт и импорт макросов

Готовый макрос можно отправить другому пользователю, просто скопировав его из окна Microsoft Visual Basic и вставив в новый документ Word. Достаточно помнить, что любой макрос начинается с кода Sub и заканчивается на End Sub.

Получив такой текст, заходим в уже знакомое меню Макросы и создаем новый макрос, присвоив ему имя. Копируем и вставляем присланный текст. Все.

Пользуясь этим принципом, добавила в Word старый добрый макрос для автоматического исправления языка при проверке орфографии (несовпадение выставленного языка текста с фактическим приводит к лишним подчеркиваниям и затрудняет проверку текста).

Сам код был опубликован в журнале «Мир ПК» еще в прошлом тысячелетии. Позже переработан Алексеем Мурзовым для корректной работы в новых версиях Word. Идея проста: слово из латинских букв мы считаем английским, из русских – русским.

Создаем по уже знакомой схеме макрос, даем ему осмысленное имя (например, FixLanguages). Вставляем следующий код:

‘Attribute VB_Name = “PrepForSpell”
Sub PrepForSpell()
‘Attribute PrepForSpell.VB_Description = “Macro created 31.01.2002 by nnnnnn”
‘Attribute PrepForSpell.VB_ProcData.VB_Invoke_Func = “Normal.NewMacros.PrepForSpell”

‘ PrepForSpell Macro
‘ Macro created 31.01.2002 by nnnnnn
‘ Adoption for Word 2003/2007 by Alexey Murzov

With Selection
.WholeStory
.LanguageID = wdRussian
.NoProofing = False
.HomeKey Unit:=wdStory
n1 = 0
w1 = “a”
se1 =.End
se2 = -1
Do While se1 <> se2
w1 = Left(Trim(.Words(1)), 1)
If w1 <> “” Then
n1 = Asc(w1)
If (n1 >= 65 And n1 <= 90) Or (n1 >= 97 And n1 <= 122) Then
.Words(1).LanguageID = wdEnglishUS
.Words(1).NoProofing = False

End If
End If
.MoveRight Unit:=wdWord
se2 = se1
se1 =.End
Loop
End With
Application.CheckLanguage = True
If se1 = se2 Then MsgBox “Fixing Eng/Rus language finished.”, vbInformation, “”
End Sub

Добавляем кнопочку для нашего макроса на панель инструментов. Как же я по нему скучала!

Чтобы забрать свои макросы на другой компьютер, их достаточно внедрить в созданный пустой документ. Для этого в меню Макросы выберите опцию Организатор (Organizer). В левой части окна вы увидите свой документ, в правой — все макросы текущего шаблона, собранные в одной опции.

Копируете макросы в новый документ и сохраняете его в формате Документ Word c поддержкой макросов / Word Macro-Enabled Document (.docm). Открывая документ, не забудьте предупредить систему безопасности о том, что макросы нужно запустить.

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

Параметры Word > Параметры центра управления безопасностью > Включить все макросы (Word Options > Trust Centre > Trust Centre Settings > Enable all macros). Защитой от потенциально опасного кода должен заниматься не текстовый процессор, а качественное антивирусное ПО.

В любом случае, новые/неизвестные макросы требуют той же осторожности, что и новые программы. Просматривайте код, прежде чем внедрять и выполнять такие макросы. Создавайте макросы сами или берите их из надежных источников. Один из таких — сайт известнейшего специалиста по макросам: http://www.archivepub.co.uk/macros.html.

* * *

Здесь я буду собирать дополнительные примеры и примечания. Если у вас есть, что рассказать про макросы, поделитесь в комментариях или напишите мне.

Упорядочивание списка

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

Начинаем запись макроса. С помощью команды Найти и заменить (Find and Replace) меняем в абзаце с перечнем запятую на знак абзаца (^p). Превратив текст в список, упорядочиваем его по алфавиту командой Сортировка текста (Sort Text).

Заменяем знак абзаца обратно на запятую — готово!

ru.just-translate-it.com

Как включить макросы в Word

Word

  1. Нажмите кнопку Microsoft Office , а затем — кнопку Параметры Word.
  2. Выберите Центр управления безопасностью, затем  — Параметры центра управления безопасностью, а затем  — Параметры макросов.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  1. Выберите нужные параметры.
    • Отключить все макросы без уведомления Данный параметр следует выбирать при отсутствии доверия к макросам. В результате в документах отключаются все макросы и связанные с ними оповещения системы безопасности. Макросы без цифровой подписи, но полученные из достоверных источников, можно переместить в надежное расположение. Макросы в документах из надежного расположения могут запускаться без проверки системой безопасности центра управления безопасностью.

    • Отключить все макросы с уведомлением Данный параметр установлен по умолчанию. Выберите этот параметр, если нужно отключить макросы, но при их наличии необходимо получать предупреждения системы безопасности. Это позволит включать макросы только в случаях, когда это требуется.
    • Отключить все макросы кроме макросов с цифровой подписью Данный параметр идентичен параметру Отключить все макросы с уведомлением за исключением того, что при наличии цифровой подписи надежного разработчика макрос запускается только в случае, если данный разработчик занесен в список доверенных издателей. Если разработчик не занесен в список доверенных издателей, последует предупреждение. Таким образом, можно выбирать нужный вариант: включить макрос, содержащий цифровую подпись, или занести разработчика в список доверенных издателей. Все макросы, не содержащие цифровой подписи, отключаются без уведомления.

      • Включить все макросы (не рекомендуется, возможен запуск опасной программы) Данный параметр разрешает выполнение всех макросов. Компьютер становится уязвимым для потенциально опасных программ, поэтому использовать данный параметр не рекомендуется.
      • Доверять доступ к объектной модели проектов VBA.    Этот параметр предназначен для разработчиков и позволяет явно заблокировать или разрешить программный доступ к объектной модели VBA от любого клиента автоматизации. Другими словами, он позволяет защитить код, созданный для автоматизации программ Office и программного управления средой Microsoft Visual Basic для приложений (VBA) и объектной моделью. Этот параметр можно установить для отдельного пользователя или приложения. По умолчанию доступ запрещен. Этот параметр безопасности затрудняет несанкционированным программам создание самореплицирующегося кода, который может причинить вред системе пользователя. Чтобы любой клиент автоматизации смог получить доступ к объектной модели VBA, пользователь, выполняющий код, должен явным образом предоставить доступ. Чтобы включить доступ, установите флажок.

СОВЕТ : Диалоговое окно с параметрами безопасности макросов можно открыть с вкладки Разработчик на ленте, которая является частью пользовательского интерфейса Microsoft Office Fluent. Если вкладка Разработчик недоступна, нажмите кнопку Microsoft Office , а затем — кнопку Параметры Word. Выберите категорию Основные и установите флажок Показывать вкладку «Разработчик» на ленте.

 

Подписываемся на канал, ставим лайки, даём деньги.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

prodma.ru

Пишем макрос в Word | Word | Статьи | Программирование Realcoding.Net

Начну с примера.

Мне, как человеку занимающемся иногда программированием, требуется распечатать исходный текст программы, да не просто, а красиво. Например, хочу выделить в тексте программы комментарии курсивом.

Для программы, занимающей несколько листов, вручную выделять все комментарии утомительно. Так давайте напишем макрос!

Итак, начнем: меню Сервис — Макрос — Начать запись.

Делаем доступным макрос для всех документов и приступаем к записи нажав кнопку ОК.

Производим переход в начало файла — жмем Cntrl + Home. Вызываем меню Найти и заменить, вводим текст для поиска «{» и жмем Найти. На первом найденном символе закрываем окно поиска. Далее, держа нажатой клавишу Shift, стрелками курсора выделяем текст комментария включая символ «}». После этого делаем начертание выделенного текста курсивом.

Останавливаем запись макроса.

Теперь идем в редактор Microsoft Visual Basic (Сервис — Макрос — Редактор Visual Basic). Находим наш макрос. Он имеет следующий вид:

Sub Макрос3()

‘ Макрос3 Макрос
‘ Макрос записан 14.10.2004

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 Макрос3()

‘ Макрос3 Макрос
‘ Макрос записан 14.10.2004

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 Макрос3()

‘ Макрос3 Макрос
‘ Макрос записан 14.10.2004

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 Макрос3()

‘ Макрос3 Макрос
‘ Макрос записан 14.10.2004

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

На этом все. Макрос готов к работе.

Для комментариев, распространяющихся до конца строки (например «//» в начале строки), алгоритм действий аналогичен, приведу лишь текст макроса:

Sub Макрос4()

‘ Макрос4 Макрос
‘ Макрос записан 14.10.2004

Selection.HomeKey Unit:=wdStory
Selection.Find.ClearFormatting
Selection.Find.Text = «//»
While Selection.Find.Execute = True
    Selection.EndKey Unit:=wdLine, Extend:=wdExtend
    Selection.Font.Italic = True
    Selection.MoveRight Unit:=wdCharacter, Count:=1
Wend
End Sub

Источник: http://nech.tamb.ru/

www.realcoding.net

Использование макрорекордера в Word 2003/2007/2010. Запись, выполнение и просмотр макросов.

Если у Вас возник вопрос «Как использовать макрорекордер для записи макроса в Word?» то эта статья для Вашего внимания. Здесь как раз поочередно рассматривается процесс запуска макрорекордера и записи макросов в различных версиях Word. Для лучшего понимания того, что будет происходить, определим задачу — записать макрос, который будет выделять весь текст документа.

Microsoft Word  2003

Запускаем приложение, открываем в нем текстовый файл, заходим в главное меню Сервис/Макрос и выбираем пункт «Начать запись…»

Выбираем пункт меню «Начать запись» и в появившемся окне «Запись макроса», выбираем имя будущему макросу (я оставлю то имя, которое ему присвоено по умолчанию «Макрос1») и место его хранения. Местом хранения может быть сам файл документа, а может быть глобальный шаблон Normal.dot, аналог личной книги макросов Personal.xls, которая есть в Excel. При необходимости присваиваем будущему макросу сочетание горячих клавиш, при нажатии которых будет происходить выполнение (запуск) макроса. В этом примере не будем присваивать макросу никаких сочетаний клавиш, поле с описанием оставим без изменений и местом для сохранения выберем файл Normal.dot. Идем дальше, нажимаем кнопку ОК.

Макрорекордер включен, началась запись всех наших действий и одновременный их перевод на язык программирования  Visual Basic for Application, сокращенно VBA. В начале этой статьи мы задались целью записать макрос, выделяющий всю текстовую область, поэтому нашим действием будет выделение текста в открытом файле. Для этого можно зайти в главное меню «Правка» и выбрать там пункт «Выделить все», а можно тоже самое сделать нажатием сочетания горячих клавиш Ctrl+A. Прекращаем запись нажатием кнопки «Остановить запись», для этого переходим туда же, откуда эту запись начинали, то есть в меню Сервис/Макрос. 

Ну вот и все! Наш макрос записан. Осталось только убедиться, что он работает и посмотреть как он выглядит (если кому интересно). Перед выполнением макроса снимем выделение с текста, или откроем новый текстовый файл, зайдем в меню Сервис/Макрос/Макросы либо нажмем сочетание клавиш Alt+F8 (это сочетание актуально для всех приложений любых версий), выберем из списка макрос с нашим названием «Макрос1» и нажмем кнопку «Выполнить». Хочу обратить Ваше внимание на то, что с помощью этого окна можно не только запустить макрос, также можно удалить, изменить программный код и внести изменения в описание.

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

Чтобы просмотреть записанный нами макрос в виде программного кода, нужно запустить редактор Visual Basic через меню Сервис/Макрос/Редактор Visual Basic, либо нажатием сочетания клавиш Alt+F11 (это сочетание тоже актуально во всех версиях всех приложений). В открывшемся окне редактора видим проект Normal и в этом проекте новый модуль Module1, в котором и сохранен программный код нашего макроса.

 

Microsoft Word  2007

В окне приложения MS Word 2007 кнопку «Начать запись…» можно отыскать сразу в нескольких местах. Во-первых, это левый нижний угол экрана, как показано на рисунке ниже

Во-вторых, на ленте главного меню, на вкладке «Вид»

и наконец в-третьих, на специальной вкладке «Разработчик», где собраны все инструменты для работы с макросами. Вкладка «Разработчик» отключена по умолчанию, поэтому для использования этой вкладки ее необходимо  предварительно отобразить на ленте.

Во время записи кнопка «Запись макроса» изменяет свое назначение на «Остановить запись» а также становится активной кнопка «Пауза», приостанавливающая запись макроса.

 

Выполнение макроса и просмотр его программного кода осуществляется абсолютно аналогично описанию из предыдущего раздела, поэтому я не буду повторяться, а перейду к Microsoft Word  2010. Не забываем об изменении настроек системы безопасности, если вдруг записанный Вами макрос не запускается.

Microsoft Word  2010

Если Вы перешли на приложения пакета MS Office 2010 после версии 2007, то кнопки «Запись макроса» и «Остановить запись» в версии Word 2010 будут расположены в привычных уже местах. Нахождение этих кнопок  идентично предыдущей версии текстового редактора — это все тот же левый нижний угол экрана и две вкладки на ленте — «Вид» и «Разработчик» (подробнее о них написано в предыдущем разделе Microsoft Word 2007).

Сам процесс записи, просмотра и выполнения записанного макроса также полностью повторяет предыдущую версию. После установки офисного пакета 2010, я обнаружил, что по умолчанию редактор Visual Basic отсутствует, пришлось шагнуть назад и доустановить этот недостающий компонент. Называется он «Visual Basic для приложений» и находится в отдельном компоненте пакета под названием «Общие средства Office», так что не пугайтесь, если кнопка записи при первом на нее нажатии никак не среагировала на Ваши действия. Если же запись прошла успешно, но возникла проблема при запуске макроса, то скорее всего это связано с настройками системы безопасности.

Другие материалы по теме:

macros-vba.ru

Что такое макросы и как их научиться вставлять в Word и Excel

Что такое макросы и как их научиться вставлять в Word и Excel

Начинающие пользователи редко интересуются таким вопросом, как макросы в Word и Excel, поскольку им кажется, что все очень сложно, на самом деле все просто.

Что такое макрос ?

Макрос в ворд, это по сути программа, которая запускается при каком-то действии пользователя – например нажатии на специальную кнопку.

Как создаются макросы?

Макросы создаются двумя способами:

1. Включается запись как на магнитофоне и выполняются действия, потом нажимается кнопку стоп. Затем какому-то объекту назначается макрос и при вызове макроса он просто повторяет все действия, которые вы совершали.

2. Пишется программа на Языке Visual Basic. Кстати если открыть записанный макрос, то он тоже будет записан на языке Visual Basic, по сути в некоторых случаях можно обойтись без программирования.

Попробуем создать макрос, записав простейшую программу.

Для начала открываем документ Excel и переходим на закладку «разработчик», предварительно включив ее нажав «Файл / Параметры / Настройка ленты» и поставив галочку напротив нужно панели.

Теперь выбираем объект кнопка, нажав на закладке «Разработчик» на кнопку «Вставить» и выбрав кнопку.

(Рисунок 1)

Теперь добавим макрос, нажав на кнопку «Записать».

(Рисунок 2)

В следующем окне нажимаем ОК.

Напишите текст в ячейке A23 и остановите запись.

(Рисунок 3)

Удалите текст в ячейке A23 и нажмите кнопку.

Как видите, макрос сработал, – в ячейке снова появился написанный вами текст.

Теперь можно сохранить полученный документ — учтите, что тип файла уже изменится, например в Excel тип файла с поддержкой макросов — .xlsm.

Не спешу прощаться, т.к. на сайте еще много интересных уроков, — до встречи в следующих уроках.

Автор: Сергей Титов

Еще записи по теме

www.tech-office2010.ru

Visual Basic for Applications (VBA, Visual Basic для приложений) — немного упрощённая реализация языка программирования Visual Basic, встроенная в линейку продуктов Microsoft Office.

С помощью этого языка можно легко упростить монотонный набор действий, выполнение которых занимает много времени.

Например, можно автоматизировать обработку содержимого ячеек в Excel или ускорить исправление ошибок оформления документов в Word.

Созданные программы на языке VBA называются макросами.

Попробуем создать простой макрос обработки текста в Word.

Для начала стоит понять какая последовательность действий прописывается в макрос с помощью макрорекордера (инструмент для записи ваших действий с помощью кода VBA).

Для примера найдем все точки в тексте и заменим их на запятые. Заходим на вкладку Разработчик -> Код -> Запись макроса.

Теперь перейдем на вкладку Главная -> Редактирование -> Заменить. Вводим «.» в поле Найти и «,» в поле Заменить на. Жмем Заменить все.

Теперь останавливаем запись макрорекордера командой Разработчик -> Код -> Остановить запись.

Это все! Ваш первый макрос готов. Давайте же посмотрим на него. Заходим Разработчик -> Код -> Visual Basic. В окне редактирования кода появится такая штука:

Sub Макрос1()
'
' Макрос1 Макрос
'
'
 Selection.Find.ClearFormatting
 Selection.Find.Replacement.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 Replace:=wdReplaceAll
End Sub

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

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

Для поискомого и заменяемого текста в макросе используются следующие строки

.Text = "."
.Replacement.Text = ","

Использованные конструкции регулярных выражений приведены в таблице.

Что изменяемНайтиЗаменить на
убрать пробелы между словом и точкой"([а-я]) @(.)""\1\2"
добавить пробел между точкой и следующим предложением"([а-я].@)([А-Я])""\1 \2"
убрать пробелы между словом и запятой"([а-я]) @(,)""\1\2"
добавить пробел между запятой и следующим словом"([а-я],)([а-я])""\1 \2"
убрать пробелы между точкой и переходом на следующую строку"(.) (^13)""\1\2"
убрать повторяющиеся пробелы"( ){2;}"" "
убрать пробел после открывающей скобкой"\( ""("
убрать пробел перед закрывающей скобки" \)"")"

Теперь необходимо все это оформить в компактном виде. Для этого удобно создать пару массивов и загнать все в цикл.

В итоге получим:

Sub Замена()

Dim arrText() As Variant
arrText = Array("([а-я]) @(.)", _
 "([а-я].@)([А-Я])", _
 "([а-я]) @(,)", _
 "([а-я],)([а-я])", _
 "(.) (^13)", _
 "( ){2;}", _
 "\( ", _
 " \)")

Dim arrReplaceText() As Variant
arrReplaceText = Array("\1\2", _
 "\1 \2", _
 "\1\2", _
 "\1 \2", _
 "\1\2", _
 " ", _
 "(", _
 ")")

Selection.WholeStory

For i = 0 To UBound(arrText)

 Selection.Find.ClearFormatting
 Selection.Find.Replacement.ClearFormatting
 With Selection.Find
 .Text = arrText(i)
 .Replacement.Text = arrReplaceText(i)
 .Forward = True
 .Wrap = wdFindContinue
 .Format = False
 .MatchCase = False
 .MatchWholeWord = False
 .MatchWildcards = True
 .MatchSoundsLike = False
 .MatchAllWordForms = False
 End With
 Selection.Find.Execute Replace:=wdReplaceAll
Next

End Sub

Полученный макрос сохраняем вместе с документом. Вызвать макрос можно из меню Разработчик или с помощью назначенной комбинации горячих клавиш (Файл -> Параметры -> Настройка ленты -> Сочетания клавиш: Настройка…)

Автор: Stanislaw


2016-05-16 • Просмотров [ 3474 ]

primat.org

Автоматическая запись макроса

Меня часто спрашивают в письмах, как создаются макросы с помощью редактора Word и как использовать коды макросов, которые я публикую в заметках.

 

В ранних записях я подробно описывал необходимый порядок действий, чтобы воспользоваться приводимыми в заметках макросами. В последнее время эта практика мною не поддерживается по разным причинам.

 

Чтобы не повторять в каждом совете последовательность шагов по созданию макросов, открытию редактора Visual Basic, назначении макросам сочетаний клавиш или размещении кнопок макросов на панелях инструментов, я решил написать несколько заметок на эту тему. Первая заметка описывает процесс автоматической записи макросов с помощью макрорекордера от редактора Word.

 

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

 

Для редактора Word 2003

  1. В меню Сервис наведите указатель мыши на команду Макрос и в раскрывшемся подменю выберите команду Начать запись. Откроется диалоговое окно Запись макроса:

     

  2.  

  3. В поле Имя макроса введите наименование для вашего макроса.

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

  4. В этом же окне вы можете назначить для макроса кнопку на панели инструментов или сочетание клавиш, нажав соответствующую кнопку в группе Назначить макрос.
  5. Чтобы обеспечить доступность макроса в любом документе редактора Word, в поле Макрос доступен для выберите из списка строку Всех документов (Normal.dot), если у вас в этом поле выбрана другая строка.
  6. В поле Описание можно ввести любой текст, описывающий назначение записываемого вами макроса.
  7. Нажмите кнопку ОК и на экране появится небольшая панель инструментов с кнопками управления записью макроса:

     

     

    С этого момента все ваши действия в редакторе Word записываются в макрос. Вы можете приостановить запись на время, если нажмете кнопку Пауза. Для продолжения записи повторно нажмите эту же кнопку. Если вы хотите закончить запись макроса нажмите кнопку Остановить запись.

  8. Выполните необходимые действия, которые должны быть записаны в макрос.

 

Для редактора Word 2007

  1. Перейдите на вкладку ленты Разработчик. Если этой вкладки на вашей ленте нет, откройте окно Параметры Word и на вкладке Основные установите флажок на параметре Показывать вкладку «Разработчик» на ленте.
  2. На вкладке Разработчик в группе команд Код нажмите кнопку Начать запись. Откроется диалоговое окно Запись макроса, как на первом рисунке.
  3. Выполните шаги 2-7, описанные выше для версии редактора Word 2003.

Вы можете остановить запись макроса используя управляющие кнопки в строке состояния редактора: в ней будет отображаться набольшая кнопка, нажатие на которую равнозначно нажатию кнопки Остановить запись в группе команд Код.

Еще записи по вопросам использования Microsoft Word:

wordexpert.ru

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *