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'

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

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

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

效果还是非常棒的!!

最后给大家提供一下我准备的Word文档,可供大家学习参考:

链接: https://pan.baidu.com/s/17Opv4LMSmjVS28kEJpmNoQ?pwd=nagj 提取码: nagj 
--来自百度网盘超级会员v6的分享

小节

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

希望这些指导能帮助大家解决Word文档的关键字标记问题哟~😊🌟 如果还有其他问题或需要更多帮助,随时可以告诉我呀~📜💕

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值