我有一个宏,可以查找最后一天所做的所有跟踪更改并突出显示它们。
Sub HilightNewChanges()
'''''''''''''
' Finds tracked changes made in the last day, and
' highlights them (without tracking the highlighting)
'''''''''''''
Dim bTrackingAsWas As Boolean
bTrackingAsWas = ActiveDocument.TrackRevisions
ActiveDocument.TrackRevisions = False
ActiveDocument.ShowRevisions = True
Dim aRev As Revision
For Each aRev In ActiveDocument.Revisions
If aRev.Date > Now() - 1 Then
aRev.Range.HighlightColorIndex = wdYellow
Selection.Collapse wdCollapseEnd
End If
Next aRev
ActiveDocument.TrackRevisions = bTrackingAsWas
ActiveDocument.ShowRevisions = True
End Sub
我需要对此进行更改,以便突出显示所有这些内容,而不是突出显示所有这些文档,以便我可以查看新的更改。我已经尝试用If
替换两行 aRev.Range.GoTo What:=aRev
但是我收到了“错误的参数”错误。我在其他宏中使用过GoTo,但只使用了书签。我是否需要再次使用书签才能获得我需要的内容?如何构建If或Loop以使其在每个之后停止?
答案 0 :(得分:0)
Range.GoTo
用于获取特定类型的范围。 What
参数必须是一组特定的常量之一,例如wdGoToLine
。
相反,您可以选择您已经获得的范围的开头:
aRev.Range.Select
Selection.Collapse
要使它在每一个之后停止,最简单的方法是重新编写它,以便在当前插入点之后找到下一个匹配的修订版,而不是一次查找所有这些修订版。如果为宏指定热键,则可以很容易地继续运行它。