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

 更新时间:2025年08月13日 10:37:03   作者:码无止尽  
在日常办公和文档处理中,我们常常需要在大量的Word文档中标记关键字,然后进行接下来的操作,比如关键字替换等,本文给大家介绍了如何使用Python实现在Word文档中批量标记关键字,还可以单独为每个关键字指定颜色,需要的朋友可以参考下

今天我们来搞点有趣的事情,教你用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标记关键字内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 源码解析python中randint函数的效率缺陷

    源码解析python中randint函数的效率缺陷

    这篇文章主要介绍了源码解析python中randint函数的效率缺陷,通过讨论 random 模块的实现,并讨论了一些更为快速的生成伪随机整数的替代方法展开主题,需要的盆友可以参考一下
    2022-06-06
  • pytest实战技巧之参数化基本用法和多种方式

    pytest实战技巧之参数化基本用法和多种方式

    本文介绍了pytest参数化的基本用法和多种方式,帮助读者更好地使用这个功能,同时,还介绍了一些高级技巧,如动态生成参数名称、参数化的组合和动态生成参数化装饰器,帮助读者更灵活地使用参数化,感兴趣的朋友参考下吧
    2023-12-12
  • 教你如何使Python爬取酷我在线音乐

    教你如何使Python爬取酷我在线音乐

    这篇文章主要介绍了如何利用 Python 实现酷我在线音乐的爬取,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起了解一下
    2022-04-04
  • Python实现读取文件夹按数字排序功能

    Python实现读取文件夹按数字排序功能

    这篇文章主要介绍了Python读取文件夹按数字排序,代码简单易懂,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-09-09
  • Python中ImportError:无法导入模块的问题解决办法

    Python中ImportError:无法导入模块的问题解决办法

    Python中ImportError常见于模块未安装、路径错误、命名冲突、版本不匹配及虚拟环境配置问题,这篇文章主要介绍了Python中ImportError:无法导入模块的问题解决办法,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2025-05-05
  • 在OpenCV里使用Camshift算法的实现

    在OpenCV里使用Camshift算法的实现

    这篇文章主要介绍了在OpenCV里使用Camshift算法的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11
  • Pycharm导入Python包,模块的图文教程

    Pycharm导入Python包,模块的图文教程

    今天小编就为大家分享一篇Pycharm导入Python包,模块的图文教程,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-06-06
  • python PyTorch预训练示例

    python PyTorch预训练示例

    这篇文章主要介绍了python PyTorch预训练示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-02-02
  • 手把手教你使用Python创建微信机器人

    手把手教你使用Python创建微信机器人

    微信,一个日活10亿的超级app,不仅在国内社交独领风骚,在国外社交也同样占有一席之地,今天我们要将便是如何用Python来生成一个微信机器人,感兴趣的朋友跟随小编一起看看吧
    2019-04-04
  • Python对多属性的重复数据去重实例

    Python对多属性的重复数据去重实例

    下面小编就为大家分享一篇Python对多属性的重复数据去重实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-04-04

最新评论