Эти удобные макросы 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).
Заменяем знак абзаца обратно на запятую — готово!
No Comments