【问题标题】:How to use macro to highlight inserted content in a word doc?如何使用宏突出显示 word doc 中插入的内容?
【发布时间】:2017-07-13 09:22:51
【问题描述】:

我想在一个 word 文件中突出显示所有插入/添加的内容(来自跟踪的更改)。我想如何使用宏来查找所有插入/添加的内容?例如,在下面的屏幕截图中:

运行宏后,blue yellow And amusing pinkhello 应全部突出显示。并且在运行具有所有不同跟踪更改的相对较大的 Word 文件时,宏也应该能够顺利工作。下面是宏内容,将内容突出显示为黄色,但我不知道如何找到插入的内容,因为我不熟悉宏。 = =

The Sub Macro1()
'
' Macro1 Macro
'
'
    Options.DefaultHighlightColorIndex = wdYellow
    Selection.Range.HighlightColorIndex = wdYellow
End Sub

非常感谢您!

【问题讨论】:

  • 我的回答解决了你的问题吗?

标签: vba ms-word


【解决方案1】:

您可以尝试使用修订对象(Word)

Sub HighlightInsertedRevision()

   Dim myRevision As Revision
   Dim currentDoc As Word.Document

   Set currentDoc = Application.ActiveDocument

   'Set the selection range
   currentDoc.ActiveWindow.Selection.HomeKey Unit:=wdStory

   'Optimise for loop
   Application.ScreenUpdating = False

   'Loop all revisions in current document
   For Each myRevision In currentDoc.Revisions
       With myRevision
           'Check if revision type is inserted revision
           If .Type = wdRevisionInsert Then
               .Range.HighlightColorIndex = wdYellow
           End If
       End With
   Next

   Application.ScreenUpdating = True

End Sub

MSDN 上的更多信息:Revisions Object (Word)

【讨论】:

  • 嗨@keenlearner,非常感谢您的帮助!我希望今天测试你的代码,并给你我的任何反馈。 :)
  • 嗨@keenlearner,我刚刚尝试了宏,它在插入内容很少的小文件上效果很好,但是当我在包含20k字和一大堆跟踪更改的word文档上运行它时,宏只是永远运行,让我的 WORD 冻结在那里。这是我们可以在宏中克服/解决的问题吗?
  • 您好,我已经编辑了上面的代码,您可以添加 Application.ScreenUpdating = True 和 Application.ScreenUpdating = false 吗?让我知道它是否仍然不能提高性能。另外,你用的是什么版本的word文档?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-02-23
  • 2013-08-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-09
  • 2021-10-01
相关资源
最近更新 更多