【问题标题】:How to highlight text in a Word document using Visual Basic如何使用 Visual Basic 突出显示 Word 文档中的文本
【发布时间】:2017-05-25 14:53:52
【问题描述】:

我不敢相信我找不到这个(简单)问题的答案,但我找不到。 (例如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,并且我的代码顶部有 Imports Microsoft.Office.Interop 和 Imports Microsoft.Office.Interop.Word。 谢谢你尽你所能的帮助。一定要简单!

【问题讨论】:

  • 我相信该属性是HighlightColorIndex。看看this question
  • 您的声明“我可以在 VBA 中执行此操作,但在 VB 中执行此操作让我感到难过。”让我难过。在 VBA 和 VB 中使用相同的 Word 对象模型。

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


【解决方案1】:

感谢 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 的相应页面。

再次感谢大家!

【讨论】:

  • 与其回答您自己的问题 - 为什么不将答案添加为正确(或赞成)您提到的用户?
【解决方案2】:

你试过了吗:

myDoc.Range.HighlightColorIndex = Word.WdColor.wdColorTurquoise 

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

我不希望您发布的代码在 VBA 中工作,因为我无法收集到 Highlight 属性。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-10-17
    • 1970-01-01
    • 2011-10-31
    • 1970-01-01
    • 1970-01-01
    • 2018-10-03
    • 2017-08-10
    • 2023-03-04
    相关资源
    最近更新 更多