4

Можно ли в MS Excel установить язык содержимого ячеек, например, для каждого столбца? Целью было бы, среди прочего, сделать правильные проверки орфографии, когда содержимое многоязычно (например, словарь), как мы можем сделать в MS Word.

2 ответа2

3

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

Sub multilanguageSC()
Dim rngEng As Range, rngSpa As Range

'Set ranges to check for each language.
Set rngEng = ActiveSheet.Range("A:A")
Set rngSpa = ActiveSheet.Range("B:B")

'Set spelling dictionary language to English (US).
Application.SpellingOptions.DictLang = 1033
'Check spelling for designated English range.
rngEng.CheckSpelling

'Set spelling dictionary language to Spanish(Mexico).
Application.SpellingOptions.DictLang = 2058
'Check spelling for designated Spanish range.
rngSpa.CheckSpelling

'Set spelling dictionary back to default setting.
Application.SpellingOptions.DictLang = Application.LanguageSettings.LanguageID(msoLanguageIDUI)

End Sub
0

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

Я использую Правила ввода на вкладке Данные. (Я должен установить "Опции", "Язык", "Язык редактирования" на "Японский")

Просто перейдите на вкладку "Данные" и затем выберите "Условные правила" из группы "Инструменты данных". Теперь справа будет новая вкладка "Японский ввод". Установите для одного столбца значение «Вкл.», Для другого значение «Выкл.», И все готово.

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

Sub Cond()
'
' Cond Macro
'

'
    With Selection.Validation
        .Delete
        .Add Type:=xlValidateInputOnly, AlertStyle:=xlValidAlertStop, Operator _
        :=xlBetween
        .IgnoreBlank = True
        .InCellDropdown = True
        .InputTitle = ""
        .ErrorTitle = ""
        .InputMessage = ""
        .ErrorMessage = ""
        .IMEMode = xlIMEModeOn
        .ShowInput = True
        .ShowError = True
    End With
End Sub

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .