2017-05-24 71 views
0

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

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

(其中myDoc是Word文档),但一直得到错误(例如,“不突出的范围内的成员,或段落,或任何其他我试试) 。我可以在VBA中做到这一点,但在VB中做到这一点已经困扰了我。 我敢肯定我错过了一些非常基本的东西,但我无法弄清楚什么... 我使用的是Visual Studio 2015,Windows 10,Word 2010,并且我有Import Microsoft.Office.Interop和在我的代码顶部导入Microsoft.Office.Interop.Word。 感谢您提供任何帮助。这很简单!

+1

我相信这个属性是'HighlightColorIndex'。看看[这个问题](https://stackoverflow.com/questions/19421010/highlight-a-text-in-word-document-in-c-sharp-ignoring-cases) –

+2

你的陈述“我可以做这在VBA中,但在VB中这样做已经困扰了我。“我难住了。在VBA和VB中都使用相同的Word对象模型。 – TnTinMn

回答

0

感谢朋友和杰森B为我解决这个问题。
为别人谁是运行到这一点,那我的最后工作是:

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

在VBA是:

nDoc.Range.HighlightColorIndex = wdYellow 

TnTinMn,它可能是相同的对象模型,但难的是搞清楚VB中有时需要额外的参数(或任何正确的单词)(这里是'wdColorIndex')。 Jason给出的链接是一个VBA引用,但到目前为止我没有找到VB的相应页面。

再次感谢所有!

+0

而不是回答自己的问题 - 为什么不添加答案正确(或upvote)你提到的用户? – confusedandamused