有没有办法在所需日期之前隐藏(然后再次显示)跟踪 Word 中的更改?
Is there a way to hide (and then show again) track changes in Word before a desired date?
我经常要检查多轮编辑的Word文档。为了使事情变得更简单,我希望能够 运行 一个提示我输入日期的宏,然后隐藏该日期之前的任何跟踪,只留下在输入日期或之后进行的跟踪更改。理想情况下,再次点击宏会将隐藏的轨道更改切换回显示。
我没有这样的正在进行的代码,但有两个独立的宏,每个宏都在做相关的事情。第一个是隐藏和显示插入和删除的简单切换:
Sub ShowHideMarkup()
ActiveWindow.View.ShowInsertionsAndDeletions = Not _
ActiveWindow.View.ShowInsertionsAndDeletions
ActiveWindow.View.ShowFormatChanges = Not _
ActiveWindow.View.ShowFormatChanges
End Sub
第二个是我在网上看到过几次的(由 Graham Mayor 创建)- 这个会提示输入日期然后接受较早的修订:
Sub AcceptTrackingBeforeGivenDate()
Dim oRev As Revision
Dim oKeepDate As Date
Dim strRsp As String
While Not IsDate(strRsp)
strRsp = InputBox("Enter earliest date to keep", _
"Accept Changes Before Date", _
"1 Jan 2021")
If Len(strRsp) = 0 Then Exit Sub
Wend
oKeepDate = CDate(strRsp)
For Each oRev In ActiveDocument.Revisions
If oRev.Date < oKeepDate Then
oRev.Accept
End If
Next oRev
End Sub
我真的不确定如何将两者结合起来。谁能指出我正确的方向?
非常感谢!
卢克
你的两个宏不能组合起来做你想做的事。该:
首先简单地切换跟踪更改视图 on/off 所有 跟踪更改。
second 简单地接受指定日期之前的所有更改,这意味着它们不再存在于文档中,除非所有 'accepts' 都被撤消或丢弃(通过不保存文档),无法提供 'unhiding' 这些更改。
Word 无法根据日期显示某些修订并隐藏其他修订。
我想到的笨拙的解决方法等同于第二个宏所做的 - 不保存修改后的文档。
请注意,即使不使用修订,Word 也允许您使用其文档比较功能来比较同一文档的两个版本(例如当前版本和备份中的版本)。您可以通过保存文档的 daily/weekly 个版本(当然是不同的文件名)来做同样的事情,以将任意两个版本相互比较。
我经常要检查多轮编辑的Word文档。为了使事情变得更简单,我希望能够 运行 一个提示我输入日期的宏,然后隐藏该日期之前的任何跟踪,只留下在输入日期或之后进行的跟踪更改。理想情况下,再次点击宏会将隐藏的轨道更改切换回显示。
我没有这样的正在进行的代码,但有两个独立的宏,每个宏都在做相关的事情。第一个是隐藏和显示插入和删除的简单切换:
Sub ShowHideMarkup()
ActiveWindow.View.ShowInsertionsAndDeletions = Not _
ActiveWindow.View.ShowInsertionsAndDeletions
ActiveWindow.View.ShowFormatChanges = Not _
ActiveWindow.View.ShowFormatChanges
End Sub
第二个是我在网上看到过几次的(由 Graham Mayor 创建)- 这个会提示输入日期然后接受较早的修订:
Sub AcceptTrackingBeforeGivenDate()
Dim oRev As Revision
Dim oKeepDate As Date
Dim strRsp As String
While Not IsDate(strRsp)
strRsp = InputBox("Enter earliest date to keep", _
"Accept Changes Before Date", _
"1 Jan 2021")
If Len(strRsp) = 0 Then Exit Sub
Wend
oKeepDate = CDate(strRsp)
For Each oRev In ActiveDocument.Revisions
If oRev.Date < oKeepDate Then
oRev.Accept
End If
Next oRev
End Sub
我真的不确定如何将两者结合起来。谁能指出我正确的方向?
非常感谢!
卢克
你的两个宏不能组合起来做你想做的事。该:
首先简单地切换跟踪更改视图 on/off 所有 跟踪更改。
second 简单地接受指定日期之前的所有更改,这意味着它们不再存在于文档中,除非所有 'accepts' 都被撤消或丢弃(通过不保存文档),无法提供 'unhiding' 这些更改。
Word 无法根据日期显示某些修订并隐藏其他修订。
我想到的笨拙的解决方法等同于第二个宏所做的 - 不保存修改后的文档。
请注意,即使不使用修订,Word 也允许您使用其文档比较功能来比较同一文档的两个版本(例如当前版本和备份中的版本)。您可以通过保存文档的 daily/weekly 个版本(当然是不同的文件名)来做同样的事情,以将任意两个版本相互比较。