word一键接受所有修订并保留修订痕迹

在Microsoft Word中,如果你希望“一键”接受所有修订(包括格式更改),同时仅将插入的部分标记为红色(格式更改不标记,只接受),删除的部分直接移除,可以使用以下调整后的VBA宏。该宏会遍历修订,对于插入的范围设置红色,然后接受;格式更改直接接受(不额外标记);删除直接接受(移除文本)。

操作步骤

  1. 打开VBA编辑器

    • 在Word中,按下快捷键Alt + F11打开Visual Basic编辑器。
    • 在左侧“项目”窗口中,右键点击“Normal”(或你的文档项目),选择“插入” > “模块”。
  2. 粘贴以下VBA代码到模块中(这是基于前一版本的更新,仅格式更改不标记红色):

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    Sub 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
  3. 运行宏

    • 关闭VBA编辑器,返回Word文档。
    • Alt + F8打开“宏”对话框,选择AcceptRevisionsMarkRed,点击“运行”。
    • 执行后,所有修订将被接受(文档更新为最终版本),仅插入的位置文本变为红色,格式更改直接应用(无额外标记),删除的部分移除,所有原修订痕迹消失。

注意事项

  • 备份文档:运行前保存文档副本。
  • 格式修订处理:格式更改(如字体、颜色等)会被直接接受,不添加红色标记,以符合你的要求。如果需要进一步区分,可扩展代码。
  • 颜色自定义:插入的红色可修改为其他颜色(如wdColorBlue)。
  • 其他修订类型:如果有属性修订等,可添加相应Case语句。
  • 测试:在包含多种修订的文档上测试,确保仅插入被标记。
  • 版本兼容:适用于Word 2010及以上。

本站由 @Wyatt 使用 Stellar 主题创建。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。