欢迎来到徐庆高(Tea)的个人博客网站
磨难很爱我,一度将我连根拔起。从惊慌失措到心力交瘁,我孤身一人,但并不孤独无依。依赖那些依赖我的人,信任那些信任我的人,帮助那些给予我帮助的人。如果我愿意,可以分裂成无数面镜子,让他们看见我,就像看见自己。察言观色和模仿学习是我的领域。像每个深受创伤的人那样,最终,我学会了随遇而安。
当前位置: 日志文章 > 详细内容

使用Python实现在Word文档中批量标记关键字

2025年08月13日 Python
今天我们来搞点有趣的事情,教你用python在word文档里批量标记关键字!还可以单独为每个关键字指定颜色哦,简直贴心到不行!工具准备在开始之前,我们需要安装一个强力的python工具包:pywin3

今天我们来搞点有趣的事情,教你用python在word文档里批量标记关键字!还可以单独为每个关键字指定颜色哦,简直贴心到不行!

工具准备

在开始之前,我们需要安装一个强力的python工具包:pywin32。咱们先来愉悦地安装一下:

pip install pywin32

装完了吗?好嘞,那我们进入正题!

思路梳理

  1. 加载word文档:我们要先准备好自己的word文档,里边有我们要标记的关键字。
  2. 遍历段落:检查所有段落,寻找需要标记的关键字。
  3. 标记关键字:用指定的颜色标记关键字,让它们变得炫酷夺目!

代码来啦!

以下是实现上述功能的完整代码:

import win32com.client as win32
 
word = win32.gencache.ensuredispatch('word.application')
 
 
def highlight_keyword_in_doc(keyword, color):
    cs = win32.constants
    word.options.defaulthighlightcolorindex = color
    find_obj = word.selection.find
    find_obj.clearformatting()
    find_obj.text = keyword
    find_obj.replacement.clearformatting()
    find_obj.replacement.text = keyword
    find_obj.replacement.font.bold = true
    find_obj.replacement.highlight = true
    find_obj.execute(replace=cs.wdreplaceall)
 
 
def highlight_keywords_in_docx(file_path, save_path, keyword_map):
    word.visible = true
    doc = word.documents.open(file_path)
 
    for keyword, color in keyword_map.items():
        highlight_keyword_in_doc(keyword, color)
 
    doc.saveas(save_path)
    doc.close()
    word.quit()
 
 
keywords = {
    "类": win32.constants.wdyellow,
    "对象": win32.constants.wdbrightgreen
}
file_path = 'c:\\users\\olive\\desktop\\word高亮标记演示\\python面向对象基础.docx'
save_path = 'c:\\users\\olive\\desktop\\word高亮标记演示\\python面向对象基础_marked.docx'
highlight_keywords_in_docx(file_path, save_path, keywords)

代码分步解析

这段代码使用了python的win32com模块,结合了微软word的功能,在word文档中批量标记关键字并指定对应的颜色。

1.通过win32.gencache.ensuredispatch方法创建了word应用程序的实例,并将该实例保存在名为word的变量中。

2.定义了一个函数highlight_keyword_in_doc,用于在word文档中高亮显示指定的关键字。

  • 使用word.options.defaulthighlightcolorindex设置默认的高亮颜色索引。
  • 通过selection.find对象进行查找和替换操作,对匹配的关键字进行高亮。

3.定义了一个函数highlight_keywords_in_docx,用于在word文档中批量高亮显示关键字。

  • 打开指定路径的word文档。
  • 遍历关键字和颜色的映射表,调用highlight_keyword_in_doc函数对每个关键字进行高亮处理。
  • 保存文档,并关闭word应用程序。

4.定义了关键字到颜色的映射表keyword_map,并指定了关键字和对应颜色的映射关系。

5.调用highlight_keywords_in_docx函数,传入文件路径、保存路径和关键字映射表,来执行批量高亮关键字的操作。

代码运行

我们只需要修改调用 highlight_keywords_in_docx函数的参数就可以了:

keywords = {
    "类": win32.constants.wdyellow,
    "对象": win32.constants.wdbrightgreen
}
file_path = 'c:\\users\\olive\\desktop\\word高亮标记演示\\python面向对象基础.docx'
save_path = 'c:\\users\\olive\\desktop\\word高亮标记演示\\python面向对象基础_marked.docx'

大家需要改成自己要替换的关键字和颜色,以及文件路径和保存的文件路径哦。

这里,我准备了一篇待标记的文章:

然后,我想把类和对象分类标记为黄色和鲜绿色背景色。我们执行一下代码,下面是我标记后的效果:

效果还是非常棒的!!

小节

这样下来,我们不仅能批量标记关键字,还能确保字体不变,真是既方便又好看哦~

到此这篇关于使用python实现在word文档中批量标记关键字的文章就介绍到这了,更多相关python word标记关键字内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!