Definindo o idioma do conteúdo das células no Excel

4

No MS Excel, é possível definir o idioma de conteúdo das células, por coluna? O objetivo seria, entre outras coisas, fazer verificações ortográficas adequadas quando o conteúdo é multilíngue (por exemplo, um dicionário), como podemos fazer no MS Word.

    
por Jukka K. Korpela 14.06.2012 / 22:39

2 respostas

3

Aqui está uma macro rápida e suja que você pode se adaptar às suas necessidades. Como está agora, ele executará uma verificação ortográfica em inglês americano em Column A e, em seguida, executará uma verificação ortográfica em espanhol mexicano em Column B . Você pode encontrar os códigos dos idiomas suportados aqui .

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
    
por 14.06.2012 / 23:49
0

Sim, isso pode ser feito. Aqui está um exemplo de entrada em japonês e inglês. (Você pode fazer configurações diferentes para o tipo de entrada em japonês que deseja permitir).

Eu uso as regras de entrada na guia "Dados". (Eu tenho que definir o "Opções", "Language", "Editing Language" para "japonês")

Basta ir para a guia "Dados" e selecionar "Regras condicionais" no grupo "Ferramentas de dados". Agora haverá uma nova aba à direita chamada "Entrada Japonesa". Definir uma coluna para "On", o outro para "Off", e você está pronto para ir.

Parece que eles podem ser feitos com o VB também. Não tenho certeza sobre as faixas de células.

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
    
por 04.04.2013 / 23:33