Полезные советы: скрипт для перевода текста в Word'е
Вступление
Так уж случилось, что пришлось работать с документацией, заполненной на немецком языке, в котором я не разбираюсь. Конечно, всегда есть вариант выделить и скопировать непонятное, свернуть Word, открыть Google Translate, вставить и посмотреть перевод. Но это медленно и неудобно, особенно если открыто множество окон.
Поэтому решил написать макрос для MS Word, который бы переводил выделенный текст с помощью уже упомянутого Google Translate.
К делу
1. Сначала надо объявить макрос. Для этого последуйте по такой цепочке:
Вид (View) -> Macros (Макрос) -> появится окно, где введите имя макроса "Translate" -> Создать (Create)
и откроется окно с заготовкой для макроса.
2. Теперь же напишем, что макрос будет делать.
Для этого скопируйте текст одного из вариантов макроса и вставьте между строками Sub Translate() и End Sub (стандартное заполнение между ними можно смело удалять):
макрос, который вставляет перевод вместо выделенного текста
Внимание! У вас нет прав для просмотра скрытого текста.
или макрос, который вставляет перевод после выделенного текста (с новой строки)
Внимание! У вас нет прав для просмотра скрытого текста.
После End Sub вставьте следующий код:
Public Function Wait(lngSeconds As Long)
Static bRunning As Boolean
Dim dtEnd As Date
If Not bRunning Then
bRunning = True
dtEnd = DateAdd("s", lngSeconds, Now())
Do Until Now() >= dtEnd
DoEvents
Loop
End If
bRunning = False
End Function
Получится что-то наподобие такого
Данные макросы используют направление перевода: Автоопределение -> Украинский (как это изменить см. ниже)
3. Делаем вызов макроса более удобным
Назначеним "гарячих клавиш" на перевод.
Для Word 2007: Кнопка Office (круглая в верхнем левом углу) -> Параметры Word -> Настройки -> ищем глазами "Сочетание клавиш:" и нажимаем справа от неё Настройка...
Для Word 2010: Файл (File) -> Настройка (Options) -> Настройка (Customize Ribbon) -> ищем глазами "Сочетание клавиш:" (Keyboard shortcuts) и нажимаем справа от неё Customize
Далее появляется окно. В правой колонке выбираем Макросы и видим в левой колонке наш макрос Translate, выбираем его. Потом переводим курсор на строку "Новое сочетание клавиш" и нажимаем комбинацию Я, например, нажал Alt + Z.
ВАЖНО: убедитесь, что ваша комбинация еще не занята!
Теперь открываем документ, выделяем текст, нажимаем комбинацию и видим результат
Меняем направление перевода
Еще один важный момент - направление перевода. Чтобы поменять направление надо всего лишь поменять несколько символов в коде.
Для этого идем в уже знакомое по первому пункту окно Вид -> Макрос -> выбираем наш Translate -> Изменить.
Ищем в коде такую строку
o.Navigate2 ("http://translate.google.com/?langpair=auto|uk&text=" & TextIn)
Собственно "langpair=auto|uk" и указывает на направление перевода, их мы менять и будем. Слева - язык оригинала, справа - язык перевода.
Примеры вариантов:
auto - автоопределение (только для языка оригинала)
en - английский
bl - беларусский
de - немецкий
es - испанский
fr - французкий
ru - русский
pl - польский
uk - украинский
ОСТОРОЖНО: не наляпайте лишних пробелов!
Учтите, что нормально он переводит примерно 300 знаков за раз (~40-50 слов). Т.е. всю страницу махом перевести будет нельзя.
Если будут вопросы, пишите в комментариях, постараюсь ответить.
При копировании содержания этой статьи, пожалуйста, давайте ссылку на оригинал.
Просмотров 4551 Распечатать
Группа: Администраторы
Регистрация: 4.09.2009 не знал про такой вариант. согласен, вполне удобно, если у тебя есть аккаунт на гугле.
но в моем случае, это было бы неудобно, т.к. там было много картинок и мало текста. ну, и не уверен, что по правилам безопасности/конфиденциальности это был бы допустимый вариант.
опять же, эта статья может быть полезна как информация о созднии скрипта на VBSе для офиса с созданием запроса веб-сервису и парсинга ответа на таком вот простом примере.
--------------------
friendly fire is not so friendly
Посетители, находящиеся в группе Гости, не могут оставлять комментарии в данной новости.