Офисное пространство
Официальный блог офисной группы

Исправление языка для проверки орфографии

Исправление языка для проверки орфографии

Rate This
  • Comments 14

Сегодняшний пост поможет вам справиться с некорректным определением языка при проверке орфографии. 
Помочь убрать разноцветные подчеркивания решил Владимир Проворов, который и поделился с нами этим постом и финальной версией скрипта. Для исторической справедливости необходимо принести благодарность неизвестному автору скрипта, и Алексею Мурзову, который адаптировал скрипт для новых версий Word.  :-)

Одной из наболевших проблем офиса является несовпадение языка текста с фактическим. Появляются такие ошибки при копировании фрагментов текста из разных источников. При некорректно выставленном языке модуль проверки орфографии выделяет подобные слова.

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


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

 

Отмечаем вкладку Разработчик.


 
Создадим новый макрос в шаблоне Normal.dotm.


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


 
Теперь создадим кнопку для быстрого запуска макроса.


 
Добавляем созданный нами макрос и нажимаем кнопку «Изменить», чтобы выбрать иконку и подпись для новой кнопки.
 
 



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

 

Проверяем работу новой кнопки.


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


 
 
В приложенном файле вы найдете текст скрипта

Attachment: текст скрипта.txt
Leave a Comment
  • Please add 2 and 5 and type the answer here:
  • Post
  • Спасибо за скрипт и детальные инструкции по установке. К сожалению у меня (боюсь, что не только) основная проблема с определением русского/украинского языков, а они оба состоят из "русских" (точнее кириллических) букв. Есть ли какая-то возможность корректного определения языка в таком случае?

  • Согласен, т.к. очень часто стыкаюсь с этой проблемой.

    Было бы очень кстати

  • По поводу украинского - вопрос поняли, действительно сложно. Если что-нибудь придумаем - отпишусь

  • Занятный "костыль"...А почему бы разработчикам не реализовать это внути самого Word?

  • Виталий,

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

  • Алексей,

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

  • а как обстоят дела с 3 языками? русский, английский, венгерский? Как то можно добавить?

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

  • Подскажите, а сие полезное решение может портироваться на Microsoft Office 2003

  • В случае с определением русского/украинского языков, видимо, целесообразно писать два скрипта для текстов с преобладанием того или иного языка.

    Например, если в тексте большинство слов русских, то по умолчании считаем все слова русскими и ищем в тексте слова с уникальными украинскими буквами. Их будем считать украинскими.

    Такой алгоритм не отделит 100% украинских слов от русских, но позволит свести проблемы с определением языка к минимуму.

  • Дмитрий Степанов, скрипт работает на Word 2003/2007/2010.

  • Спасибо за ответ. Действительно сложно различить русско-украинские тексты (особенно учитывая, что есть достаточно слов, которые пишутся одинаково и только из контекста понятен язык).

  • Можете подсказать эквивалент "вкладка Разработчик" в англ версии ворда?

  • Myron, Developer.

Page 1 of 1 (14 items)