如何在Word中强调文本,而无需像语法一样修改文档

问题描述 投票:0回答:1

我正在为Word(以及Outlook)编写VSTO加载项。我想强调文本的某些部分(检测到的错误)。据我所知,Microsoft.Office.Interop.Word或其他库中没有用于这种强调的API。

但是Grammarly(www.grammarly.com)找到了一种方法:

Screendump from Word with Grammarly running

有人知道您怎么能用同样的方法吗?

ms-word vsto office-interop office-addins
1个回答
0
投票

我相信最好的方法是将所需的文本放入Range,然后应用以下格式:

myRange.Font.Underline = Microsoft.Office.Interop.Word.WdUnderline.wdUnderlineThick;
myRange.Font.UnderlineColor = Microsoft.Office.Interop.Word.WdColor.wdColorRed;

这将如何在Grammer上使用

如先前在问题注释中所指出的,唯一强调重点的方法是临时更改文档,这是Grammerly似乎很聪明的方法。只有当人们单击Grammerly功能区上的Open Grammerly按钮时,Grammerly才起作用。如果您进行简单的实验,则可以通过仔细观察来观察。

首先创建一个未保存的文档,其中包含一些拼写错误的单词,这些单词显示波浪线。然后单击Open Grammerly按钮。请注意,该加载项关闭了拼写检查,并用它自己的由网络触发的标记代替了该标记,这些标记在文档中生成,并且类似于上面的代码生成的标记。然后保存文档。如果仔细看,您会看到一个小闪烁,其中红色的粗线消失了片刻。这是Document.BeforeSave事件,在保存文档之前删除其标记。通过依靠用户的操作,Grammerly可以控制标记出现在什么时间点。然后,它使用代码和事件来确保标记不会随文档一起保存或干扰其他操作。

您可能要看的一些事件是:

Document.BeforeSave Event

Document.BeforePrint Event

Document.BeforeClose Event

© www.soinside.com 2019 - 2024. All rights reserved.