Word文档的批注功能帮助我们记录修改意见、协作沟通,但当文档定稿需要提交或归档时,这些批注反而成了文档中的累赘。尤其是面对几十份甚至上百份带批注的文件,一个个打开、手动删除,光是想想就头疼。本文将分享2种高效的批量删除方法,帮你从繁琐的重复操作中解脱出来,不管你是行政文员、项目助理还是内容编辑,都可以收藏备用。
说实话,Word自带的删除批注功能并不难找,但问题在于它只能处理当前打开的这一份文档。
我之前在公司负责整理项目资料,季度末要把所有合同文件清理干净后归档。40多份Word文档,每份都有法务和业务部门的审批批注,领导要求提交的版本必须是"干净"的。我只能一份一份打开,点击"审阅"-"删除所有批注",再保存关闭,再打开下一份……整整耗了一下午,眼睛都看花了。
而且市面上能批量删除word批注的工具并不多见,有些在线工具会限制文档数量,且在线处理文档安全性也难以保障,今天就给大家分享两种批量删除多个word中的批注高效方法,方法一:通过借助一款专业的文档批量处理工具来批量删除,本地化处理,文档数据安全,操作简单,但需下载鹰迅批量处理工具箱软件。方法二:直接通过代码实现,不需要借助其他工具,但是适合有编程基础的朋友,操作难度较大。大家可以根据自己的实际情况进行选择。
批量删除Word批注效果预览
处理前:

处理后:

方法一:借助专业的文档批量处理工具处理
推荐指数:★★★★★
操作步骤:
1、打开「鹰迅批量处理工具箱」,在「Word工具」中,选择文件内容分类中下的「删除 Word 中的批注」功能。

2、添加需要处理的所有word文档。

3、选择处理后的文档保存路径。

4、批量删除多个word批注处理完成。

方法二:使用Python代码批量处理
<PYTHON>
import os
from docx import Document
from lxml import etree
def remove_comments_from_docx(input_path, output_path):
"""
删除单个Word文档中的所有批注
"""
doc = Document(input_path)
# 定义Word命名空间
nsmap = {
'w': 'http://schemas.openxmlformats.org/wordprocessingml/2006/main'
}
# 获取文档的XML元素
for part in doc.part.rels.values():
# 删除批注部分的引用
if "comments" in part.reltype:
pass # python-docx不直接支持删除rels
# 遍历所有段落,删除批注标记
for paragraph in doc.paragraphs:
# 获取段落的XML
p_element = paragraph._element
# 查找并删除批注开始标记
for comment_start in p_element.findall('.//w:commentRangeStart', nsmap):
comment_start.getparent().remove(comment_start)
# 查找并删除批注结束标记
for comment_end in p_element.findall('.//w:commentRangeEnd', nsmap):
comment_end.getparent().remove(comment_end)
# 查找并删除批注引用
for comment_ref in p_element.findall('.//w:commentReference', nsmap):
comment_ref.getparent().remove(comment_ref)
doc.save(output_path)
print(f"已处理: {input_path}")
def batch_remove_comments(input_folder, output_folder):
"""
批量处理文件夹中的所有Word文档
"""
# 创建输出文件夹
if not os.path.exists(output_folder):
os.makedirs(output_folder)
# 遍历所有docx文件
for filename in os.listdir(input_folder):
if filename.endswith('.docx') and not filename.startswith('~$'):
input_path = os.path.join(input_folder, filename)
output_path = os.path.join(output_folder, filename)
try:
remove_comments_from_docx(input_path, output_path)
except Exception as e:
print(f"处理失败 {filename}: {e}")
print("批量处理完成!")
# 使用示例
if __name__ == "__main__":
input_folder = r"C:\原始文档文件夹" # 修改为你的输入路径
output_folder = r"C:\处理后文件夹" # 修改为你的输出路径
batch_remove_comments(input_folder, output_folder)