如何使用Visual Basic突出显示Word文档中的文本

时间:2017-05-24 12:48:54

标签: vb.net ms-word formatting highlight highlighting

我无法相信我无法找到这个(简单)问题的答案,但我不能。 (This例如没有真正的帮助,我也找不到答案here。)我想要做的就是弄清楚如何以编程方式使用Visual Basic(而不是VBA)(i)更改Word文档中特定段落或范围中的字体颜色,或(ii)突出显示文档中的相同文本。 我使用过各种各样的排列:

myDoc.range.font.ColorIndex = Word.WdColor.wdColorRed
myDoc.range.Highlight = Word.WdColor.wdColorTurquoise

(其中myDoc是一个Word文档),但不断收到错误消息(例如,'突出显示不是范围,段落或其他任何我尝试的成员)。我可以在VBA中做到这一点,但在VB中这样做让我很难过。 我确定我遗漏了一些非常基本的东西,但我无法弄清楚是什么...... 我正在使用Visual Studio 2015,Windows 10,Word 2010,我已经在我的代码顶部导入了Microsoft.Office.Interop和Imports Microsoft.Office.Interop.Word。 谢谢你尽你所能的帮助。它必须简单!

2 个答案:

答案 0 :(得分:0)

你有没有尝试过:

myDoc.Range.HighlightColorIndex = Word.WdColor.wdColorTurquoise 

https://msdn.microsoft.com/en-us/library/office/ff841064.aspx

我不希望您发布的代码在VBA中工作,因为我无法收集任何突出显示属性。

答案 1 :(得分:0)

感谢A Friend和Jason B为我解决这个问题 对于其他遇到此问题的人来说,最终对我有用的是:

nDoc.range.HighlightColorIndex = WdColorIndex.wdYellow  
nDoc.range.font.colorindex = WdColorIndex.wdRed

在VBA中:

nDoc.Range.HighlightColorIndex = wdYellow

TnTinMn,它可能是相同的对象模型,但难以找出VB中有时需要的附加参数(或任何正确的单词)(这里,' wdColorIndex')。 Jason给出的链接是VBA参考,但到目前为止我还没找到VB的相应页面。

再次感谢所有人!