使用MS Word检查拼写忽略大小写敏感度

时间:2016-05-02 08:52:39

标签: c# ms-word spell-checking

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

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

这样可以正常工作,但我想忽略这个单词是用大写字母还是小写字母写的。我正在检查德语单词,它们可以以大写字母开头,但是如果我检查一个文本,每个单词都用小写字母写,那么这个方法将返回false,用于通常以大写字母开头的单词信。

那么我怎么能忽略案例的敏感性呢?我尝试更改方法的参数ignoreUppercase,但仍返回false

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

1 个答案:

答案 0 :(得分:1)

IgnoreUppercase适用于所有CAPS,而不适用于标题案例。

作为标题案例,专有名词的大写是德语的一个组成部分(无论一些人选择做什么),校对工具都会尊重它。这不是可以打开/关闭的“选项”。

您可以构建一个转换,使该单词为标题大小写,然后再次测试该单词。例如:

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);
}