MS Office拼写检查不适用于来自托管API的非英语语言

时间:2013-08-20 20:18:25

标签: c# ms-office

我正在尝试使用c#api在不同语言中使用MS Office进行拼写检查。我安装了所有相关的语言包。例如,如果我输入德语拼写错误的单词“buxs”,我会得到英语建议:公共汽车,巴士,芽,盒子,臭虫,流浪汉,购买,盒子,包子,锉刀。但是我期待这样的建议:Bus,büxt,bis,büxe,Bugs,Buhs。

我的代码在下面......我做错了什么?

wordApp = new Application();
wordApp.Visible = true;
WdLanguageID language = WdLanguageID.wdGerman;

wordDocument = wordApp.Documents.Add(ref missing, ref missing, ref missing, ref missing);
wordDocument.Content.LanguageID = language;

// This is mis-spelled. 
string misSpelledWord = "buxs";

// this returns english suggestions...
SpellingSuggestions theSuggestions = wordApp.GetSpellingSuggestions( misSpelledWord, ref missing, ref missing, ref missing, ref suggestionMode, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing);

1 个答案:

答案 0 :(得分:0)

我已经对GetSpellingSuggestionsWord Application中的Range进行了一些测试,您描述的行为似乎是正常行为。我的计算机上的语言是西班牙语,当我使用您的代码(WdLanguageID.wdSpanish"buxs")时,我会得到您推荐的建议(当我转到英语时也是如此)。另一方面,当我改为德语时,我什么也得不到。此外,我用西班牙语(“kasa”或“part”)测试了“明显可建议”的单词,结果很好。

我的结论是,如果这个词可以在目标字典中找到,它会传递这些结果;否则,它看起来在英语词典中。显然,“buxs”不包含在德语词典中。