Язык WordBasic - практический подход

Работа с языком документа


Две функции и два оператора позволяют задавать или изменять язык редактируемого документа. Отмечу, что важность применения программ проверки орфографии и грамматики возрастает, кроме того документы часто бывают двух- либо многоязычными.
Функция CountLanguages() возвращает число поддерживаемых в данной версии WinWord языков. Это легко увидеть вставив в макрокоманду строку:
Print CountLanguages()

Оператор Language имеет три различных формы использования. Первая форма:
Language язык$

позволяет указать конкретный язык для выделенного фрагмента текста. Этим будут пользоваться программы проверки орфографии и грамматики. Например, оператор
Language "Русский"

пометит выделенный участок документа, как текст на русском языке. Это на самом деле эквивалентно выбору в меню Сервис
пункта Язык и Русский в списке поддерживаемых языков. Просто вручную делать это более одного раза утомительно. Хотя в локализованной версии WinWord названия языков в диалоговом окне даны по-русски, в операторе их следует задавать в оригинальном написании.
Каждый язык в этом списке имеет свой порядковый номер, поэтому вторая форма этого оператора (Language индекс) использует в качестве операнда не название языка, а его номер в списке и функцию, для получения названия языка по его номеру. Так приведённому выше оператору соответствует:
Language Language$(23).
Третья форма – разновидность второй – отменяет лингвистическую проверку текста. Она эквивалентна выбору самой первой строки, (без проверки), в списке языков.
Language


"0"
И наконец, рассмотрим функцию Language$(индекс). Если индекс равен 0 или опущен, то Language$() вернёт признак языка первого символа выделенного участка или символа слева от точки вставки (если нет выделения текста). Если индекс не равен нулю (он может меняться от 1 до CountLanguages), то возвращается название языка из списка поддерживаемых национальных языков. Следующая макрокоманда выведет в активный документ этот список. Его элементы (номер и название) можно будет использовать в операторе Language.

Sub MAIN
For i = 1 To CountLanguages()
      Insert Str$(i) + Chr$(9) + Language$(i)
InsertPara
Next
End Sub
 1   0
 2   Dansk
 3   Deutsch
 4   Deutsch (Schweiz)
 5   English (AUS)
 6   English (UK)
 7   English (US)
 8   Espaсol
 9   Franзais
 10 Canadien Franзais
 11 Italiano
 12 Nederlands
 13 Nederlands (voorkeur)
 14 Norsk Bokmеl
 15 Norsk Nynorsk
 16 Portuguкs (BR)
 17 Portuguкs (POR)
 18 Suomi
 19 Svenska
 20 Catalа
 21 ЕллзнйкЬ
 22 Tьrkзe
 23 Русский
 24 Иeљtina
 25 Magyar
 26 Polski
 27 Slovenian
 28 Словацкий
 29 Euskera
 30 Bahasa Malaysia
Последний оператор из этой группы ToolsLanguage позволяет установить выбранный язык в качестве языка, используемого по умолчанию, т. е. записать его в шаблон normal.sty:
ToolsLanguage .Language = "Русский", .Default
Если необязательный операнд .Default отсутствует, то в остальном этот оператор похож на оператор Language.

CopyFormat
FontSubstitution
FormatAddrFonts
FormatChangeCase
FormatDefineStyleFont
FormatDefineStyleLang
FormatFont
FormatRetAddrFonts
PasteFormat
ResetChar, ResetChar()
ShrinkFont
 
Оператор NormalFontSpacing
 
Восстанавливает кернинг выделенных символов к Normal, если их текущий кернинг был расширен или сжат.
 
Оператор NormalFontPosition
 
Восстанавливает выбранные символы к базовой линии, если они были подняты или понижены.
 

Содержание раздела