使用VBA替换Microsoft Word中的突出显示单词

时间:2011-12-22 15:27:56

标签: xml vba ms-word highlight word-vba

我需要遍历整个word文档并阅读突出显示的文本,以便我可以搜索XML文件中突出显示的内容,并将其替换为XML文件中的相应值。
我已经想出如何将我的XML文件解析为DOM并搜索我需要的值。
我仍然按照VBA代码循环遍历整个word文档并阅读高亮文本的内容所以我可以与我的xml文件进行比较。

2 个答案:

答案 0 :(得分:1)

您需要循环浏览word文档中的所有单词,并检查每个单词是否突出显示 当您找到突出显示的单词时,请使用您已有的代码查看XML中的单词列表,以获取文档中所选单词的替换和副本。

这是一个快速示例。

Sub GetHighlightedWords()
  Dim doc As Document
  Set doc = ActiveDocument
  Dim SelectedWord As String

  For i = 1 To doc.Range.Words.Count
    If doc.Range.Words(i).HighlightColorIndex > 0 Then
        SelectedWord = doc.Range.Words(i)
        'This is where you would go to your XML document and pickup a replacement word and subtitude it for the selected word.'
        Debug.Print SelectedWord 
    End If
  Next

End Sub

答案 1 :(得分:1)

这是您的完美解决方案。我已经编写了这个宏代码并进行了测试。 http://blog.haneefputtur.com/2012/02/macro-to-extract-highlighted-words-from.html