使用 MS Word 检查拼写忽略区分大小写

Check spelling using MS Word ignore case sensivity

我使用 Microsoft Word 检查单词的拼写。我知道我可以用这个检查拼写:

Word.Application app = new Word.Application();
bool correct = app.CheckSpelling(word);
app.Quit();

这很好用,但我想忽略单词是大写还是小写。我正在检查德语单词,它们可以以大写字母开头,但如果我检查文本,其中每个单词都是小写的,则此方法将 return false 用于通常开头的单词用大写字母。

那么如何忽略大小写呢?我尝试更改方法的参数 ignoreUppercase,但它仍然 returns false:

bool correct = app.CheckSpelling(word, null, true);

IgnoreUppercase 适用于全部大写,不适用于标题大小写。

由于专有名词的首字母大写是德语不可或缺的一部分(无论某些人选择做什么),因此校对工具尊重它。这不是一个可以转on/off的"option"。

您可以构建一个转换,使单词成为首字母大写,然后再次测试该单词。例如:

if (!correct)
{
  CultureInfo cultureInfo   = Thread.CurrentThread.CurrentCulture;
  //Create TextInfo object.
  TextInfo textInfo = cultureInfo.TextInfo;

  //Convert to title case.
  Console.WriteLine(textInfo.ToTitleCase(word));
  bool correct = app.CheckSpelling(word, null, true);
}