word一键接受所有修订并保留修订痕迹
在Microsoft Word中,如果你希望“一键”接受所有修订(包括格式更改),同时仅将插入的部分标记为红色(格式更改不标记,只接受),删除的部分直接移除,可以使用以下调整后的VBA宏。该宏会遍历修订,对于插入的范围设置红色,然后接受;格式更改直接接受(不额外标记);删除直接接受(移除文本)。
操作步骤
打开VBA编辑器:
- 在Word中,按下快捷键
Alt + F11打开Visual Basic编辑器。 - 在左侧“项目”窗口中,右键点击“Normal”(或你的文档项目),选择“插入” > “模块”。
- 在Word中,按下快捷键
粘贴以下VBA代码到模块中(这是基于前一版本的更新,仅格式更改不标记红色):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19Sub AcceptRevisionsMarkRed()
Dim doc As Document
Dim rev As Revision
Set doc = ActiveDocument
doc.TrackRevisions = False ' 关闭跟踪更改
For Each rev In doc.Revisions
Select Case rev.Type
Case wdRevisionInsert ' 处理插入:标记红色并接受
rev.Range.Font.Color = wdColorRed
rev.Accept
Case wdRevisionDelete ' 处理删除:直接接受(文本移除,无需标记)
rev.Accept
Case wdRevisionFormat ' 处理格式更改:直接接受(不标记红色)
rev.Accept
' 可以添加其他修订类型,如 wdRevisionProperty,根据需要处理
End Select
Next rev
doc.TrackRevisions = True ' 可选:重新开启跟踪(如果需要继续编辑)
End Sub运行宏:
- 关闭VBA编辑器,返回Word文档。
- 按
Alt + F8打开“宏”对话框,选择AcceptRevisionsMarkRed,点击“运行”。 - 执行后,所有修订将被接受(文档更新为最终版本),仅插入的位置文本变为红色,格式更改直接应用(无额外标记),删除的部分移除,所有原修订痕迹消失。
注意事项
- 备份文档:运行前保存文档副本。
- 格式修订处理:格式更改(如字体、颜色等)会被直接接受,不添加红色标记,以符合你的要求。如果需要进一步区分,可扩展代码。
- 颜色自定义:插入的红色可修改为其他颜色(如
wdColorBlue)。 - 其他修订类型:如果有属性修订等,可添加相应Case语句。
- 测试:在包含多种修订的文档上测试,确保仅插入被标记。
- 版本兼容:适用于Word 2010及以上。