我正在尝试使用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);
答案 0 :(得分:0)
我已经对GetSpellingSuggestions
和Word Application
中的Range
进行了一些测试,您描述的行为似乎是正常行为。我的计算机上的语言是西班牙语,当我使用您的代码(WdLanguageID.wdSpanish
和"buxs"
)时,我会得到您推荐的建议(当我转到英语时也是如此)。另一方面,当我改为德语时,我什么也得不到。此外,我用西班牙语(“kasa”或“part”)测试了“明显可建议”的单词,结果很好。
我的结论是,如果这个词可以在目标字典中找到,它会传递这些结果;否则,它看起来在英语词典中。显然,“buxs”不包含在德语词典中。