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文档的关键字标记问题哟~😊🌟 如果还有其他问题或需要更多帮助,随时可以告诉我呀~📜💕

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-20 09:28:02       52 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-20 09:28:02       54 阅读
  3. 在Django里面运行非项目文件

    2024-07-20 09:28:02       45 阅读
  4. Python语言-面向对象

    2024-07-20 09:28:02       55 阅读

热门阅读

  1. Vue随笔【::v-deep 解决 样式污染的bug】

    2024-07-20 09:28:02       17 阅读
  2. 一种全局数据变化而且是多个的通知实现

    2024-07-20 09:28:02       18 阅读
  3. 极狐GitLab如何配置使用独立数据库?

    2024-07-20 09:28:02       17 阅读
  4. python 66 个冷知识 0716

    2024-07-20 09:28:02       16 阅读
  5. 【数据库技术NoSQL】MongoDB和Cassandra的使用

    2024-07-20 09:28:02       16 阅读
  6. live555搭建实时播放rtsp服务器

    2024-07-20 09:28:02       18 阅读
  7. 服务器相关总结

    2024-07-20 09:28:02       16 阅读
  8. ES6 字符串的新增方法(二十)

    2024-07-20 09:28:02       14 阅读
  9. C语言初学者入门指南

    2024-07-20 09:28:02       13 阅读
  10. 如何看待中国信息协会2024年网络安全大赛

    2024-07-20 09:28:02       14 阅读
  11. Symfony框架概述

    2024-07-20 09:28:02       16 阅读
  12. go reflect的工程使用

    2024-07-20 09:28:02       16 阅读
  13. RKE部署k8s

    2024-07-20 09:28:02       18 阅读
  14. 关于取模的相关注意

    2024-07-20 09:28:02       17 阅读
  15. nodejs使用request后端访问第三方接口

    2024-07-20 09:28:02       17 阅读