Word接受修订删除的VBA宏陷入死循环问题求助
Word修订批量接受删除操作时表格行陷入无限循环问题
需求
我有一份带修订标记的MS Word docx文档,需要接受所有删除类修订,同时保留插入类修订的跟踪状态。使用场景为学术期刊返修,目的是让带追踪的版本与无追踪版本页码一致。
已尝试的宏代码及问题
基础遍历宏
Sub AcceptDeletion() Dim oChange As Revision For Each oChange In ActiveDocument.Revisions With oChange If .Type = wdRevisionDelete Then .Accept End If End With Next oChange End Sub
简化版遍历宏
Sub AcceptDeletion() Dim oChange As Revision For Each oChange In ActiveDocument.Revisions If oChange.Type = wdRevisionDelete Then oChange.Accept Next oChange End Sub
上述两个宏在文档大部分内容上运行正常,但处理表格中第一列为“Parkinsons's disease”的行时,均陷入无限循环。甚至使用Word自带的“接受并移至下一处”按钮处理该行也会卡住。
无法运行的宏方案
尝试了另一方案,运行时抛出错误:
排查操作
按照建议将表格转换为文本后,未发现异常:
- 表格转文本效果:

- 原表格样式:

- 疑似异常行:

内容的提问来源于stack exchange,提问作者Doug Ezra Morrison
相关产品推荐
相关产品推荐

