情况:
我正在处理 MS Word 文档的内容。我正在根据一些规则改变一些单词的颜色。每个 KeyPress 事件都会发生文字着色。
问题:
当用户键入满足我的规则的单词时,键入的单词变成彩色并感染将在彩色文本之后键入的未来文本。但未来的文本可能无法满足规则。一方面,刚刚输入的文本不应该被着色,但另一方面它已经被着色了,因为不幸的是它紧跟在彩色文本之后并且被它的风格所感染。
问题:如何抓取当前光标位置对应的 Word.Range 对象,并将字体颜色显式设置为中性默认颜色?我试过了
Word.Range r = app.Application.ActiveDocument.Range(
app.Application.ActiveDocument.Bookmarks[@"\Sel"].Range.Start,
app.Application.ActiveDocument.Bookmarks[@"\Sel"].Range.End);
r.Font.Color = WdColor.wdColorBlack;
和
Word.Range r = app.Application.ActiveDocument.Bookmarks[@"\Sel"].Range;
r.Font.Color = WdColor.wdColorBlack;