使用拼写检查时使用VBA切换词典(MS Access)

时间:2014-07-13 10:54:55

标签: vba ms-access access-vba spell-checking ms-access-2013

我有这个VBA功能:当我退出一个字段时,它会自动启动拼写检查。但是我有英文字段和其他法文字段,所以我正在寻找一种方法来为每个字段设置Dictionnary语言,以便Access知道要使用哪个字典/语法检查器。

例如,您将如何在此代码中包含法语?

Private Sub Field_Exit(Cancel As Integer)
       Dim strSpell
       strSpell = Field
       If IsNull(Len(strSpell)) Or Len(strSpell) = 0 Then
          Exit Sub
       End If
       With Field
           .SetFocus
           .SelStart = 0
           .SelLength = Len(strSpell)
       End With
       DoCmd.SetWarnings False
       DoCmd.RunCommand acCmdSpelling
       DoCmd.SetWarnings True
    End Sub

3 个答案:

答案 0 :(得分:3)

在网上搜索了这个:

Application.SetOption "Spelling dictionary language", xxxx

其中xxxx是此处列出的常量之一:http://msdn.microsoft.com/en-us/library/aa432635%28v=office.12%29.aspx

应该能够在需要时来回翻转开关。

答案 1 :(得分:1)

据我所知,你不能这样做。

字典在Windows设置中指定。我可以想象一个API方法来改变它,但我发现最接近的是this page关于.CheckSpelling(它允许你指定一个备用字典,当指定的字典不提供匹配时)。

答案 2 :(得分:0)

我知道这是有关Access的,但是为了将来为Excel用户参考,您实际上可以使用VBA更改语言设置。示例如下:

Application.SpellingOptions.DictLang = msoLanguageIDEnglishCanadian
Application.SpellingOptions.DictLang = msoLanguageIDFrenchCanadian