很多人对 Word 自动化的第一反应是「用 python-docx 就够了」。真到批量处理域代码、页眉页脚分节、图表对象、书签定位的时候,就会发现 python-docx 能碰的东西有限,最后还是得回到 Word 自己的对象模型上。这门课走的就是 win32com 这条路:直接调用 Word(或 WPS 文字)暴露出来的 COM 接口,用 Python 去驱动它。

先确认你是不是这门课的目标读者

下面这些场景,如果中了两条以上,说明你正处在课程对应的能力缺口里:

  • 手里有一批结构相似的 Word 文档,要批量改标题格式、替换内容、套统一模板,靠手工做要加班到很晚。
  • 接过「从几百份合同/报告里抽字段、生成汇总表」的活,试过正则和 python-docx,但遇到域、书签、文本框就卡住。
  • 需要程序化生成带页眉页脚、目录、编号、表格、图表的正式文档,格式还要求严格。
  • 写过一点 VBA,知道 Word 有 Document、Range、Paragraph 这些对象,但换成 Python 不知道怎么写。

如果你的需求只是「读一段文字、写一段文字」,不用专门学 win32com,python-docx 更省事。这门课解决的是需要调用 Word 完整能力的那部分问题。

这门课把 Word 对象模型当主线

win32com 的难点从来不是 Python 语法,而是 Word 的对象层次本身:Application 下面挂 Document,Document 下面有 Range、Section、Paragraph、Table、Shape、Field、Bookmark、HeaderFooter……你得先知道要动的那块内容属于哪个对象,才能写出对应的调用。课程按这条层次线展开,从文档级别一路讲到段落、节、域、页眉页脚、书签、表格、图形和图表的操作方式,而不是零散地丢几个示例脚本。

另一个贯穿内容是正则表达式在 Word 场景里的用法。Word 自带的查找替换能力有限,把 Range 的文本取出来交给正则处理,再写回去,是实际项目里最常见的组合。课程把这块单独拎出来讲,说明它确实是绕不开的一环。

Python 语言基础部分也在范围内。如果完全没有 Python 底子,直接看 COM 调用会很吃力,所以前半段会先把必要的语法补上,后面讲对象操作时不需要再分心去理解语言本身。

学的时候建议这样练

光看是不会的,这门课的练习有几个可以自己加码的方向:

  • 拿自己工作里真实的一份文档当素材,先做「打开—读取某个段落—打印出来」,跑通最小的调用链,确认环境和 COM 接口都正常。
  • 练习时要区分「对 Range 操作」和「对 Selection 操作」。前者不依赖光标位置,更适合自动化;后者容易受当前视图影响,写脚本时尽量避开。
  • 每学一类对象(表格、页眉页脚、域),就试着用它改一个真实模板,而不是只跑课程里的示例。
  • 正则部分要单独练:找几份格式混乱的文档,练习把非结构化文本抽成结构化数据。

另外提醒一点:win32com 依赖本机安装的 Word 或 WPS,脚本跑在别人的机器上、或者跑在服务器上,情况会不一样。这类边界问题在动手阶段就会暴露,早遇到比晚遇到好。

看完应该能回答这些问题

  • Win32com 调用 Word 时,Application、Document、Range 三者的关系是什么,什么时候需要显式关闭文档和退出应用?
  • 要批量修改文档里所有一级标题的格式,应该定位到哪一层对象,怎么遍历?
  • 域和书签分别适合处理什么场景,为什么有些替换用普通查找替换做不了?
  • 页眉页脚为什么要按节来处理,不同节之间的设置怎么隔离开?
  • 把正则和 Word 对象结合时,文本取出来和写回去分别注意什么?

这些问题答不上来,说明对应的那块还得回头再练一遍。答得上来,说明你已经能把 win32com 当成一件顺手的工具用了,而不只是见过它的名字。

Word(WPS文字)+Python win32com办公自动化

课程详情

课程详情

课程名称:Word(WPS文字)+Python win32com办公自动化

课程简介:本课程旨在通过Python win32com包,帮助学员掌握Word(WPS文字)办公自动化的各种方法。课程内容涵盖Python语言基础、Word对象操作,如文档、Range、段落、节、域、页眉页脚、书签、表格、图形、图表等,以及正则表达式的应用。

适合人群:

  • 职场办公人员
  • 软件开发人员
  • 大学生
  • 研究生
  • 所有对Word二次开发感兴趣的朋友

学习收获:

  • 掌握Python win32com包在Word自动化中的应用
  • 熟悉Word对象操作和正则表达式
  • 提升办公自动化效率

课程亮点:

  • 结合Python语言基础,深入讲解Word自动化编程
  • 涵盖Word对象操作和正则表达式,全面提高办公自动化能力
  • 讲师童大谦拥有多年Office和WPS Office办公自动化经验,课程内容实用性强

课程目录

01 win32com包和对象模型
  01 脚本编程与对象模型.mp4
  02 面向对象编程的相关概念.mp4
  03 Word对象模型.mp4
  04 win32com包及其安装.mp4
  05 用win32com操作Word对象模型的一般过程.mp4
02 Word应用:Application对象
  01 位置、大小、标题、可见性和状态属性.mp4
  02 其他常用属性.mp4
03 文档:Document对象
  01 创建文档.mp4
  02 打开文档.mp4
  03 保存文档.mp4
  04 引用、激活和关闭文档.mp4
  05 文档的主要属性和内容.mp4
  06 文档的样式.mp4
  07 页面设置.mp4
04 字符序列:Range对象
  01 Range对象.mp4
  02 文本格式 字体设置.mp4
  03 文本格式 颜色设置.mp4
  04 文本格式 上标和下标设置.mp4
  05 文本格式 外框设置.mp4
  06 文本格式 字面填充设置.mp4
  07 文本格式 阴影和倒影设置.mp4
  08 文本格式 底纹设置.mp4
  09 文本格式 字符间距和水平缩放.mp4
  10 剪切、复制、粘贴和删除.mp4
  11 插入内容.mp4
  12 折叠和扩展.mp4
  13 Information属性.mp4
05 段落:Paragraph对象
  01 创建段落.mp4
  02 插入段落.mp4
  03 设置段落格式的方式.mp4
  04 段落缩进.mp4
  05 段落的行间距.mp4
  06 段落间距.mp4
  07 段落对齐方式.mp4
06 句子、单词和字符
  01 句子:Sentences对象.mp4
  02 单词:Words对象.mp4
  03 字符:Characters对象.mp4
07 节:Section对象
  01 节的概念.mp4
  02 创建节.mp4
  03 给节进行页面设置.mp4
08 域:Field对象
  01 什么是域.mp4
  02 域的创建、更新和删除.mp4
  03 域结果转为静态文本.mp4
09 页眉页脚:HeaderFooter对象
  01 给文档添加页眉.mp4
  02 给文档添加页脚.mp4
  03 实现首页不同和奇偶页不同.mp4
  04 页码的设置.mp4
10 书签:Bookmark对象
  01 关于书签.mp4
  02 创建书签.mp4
  03 定位到书签并进行操作.mp4
11 表格:Table对象
  01 增删改查-创建表格.mp4
  02 增删改查-表格的索引和选择.mp4
  03 增删改查-表格的剪切、复制、粘贴、清除和删除.mp4
  04 增删改查-表格的宽度.mp4
  05 增删改查-表格的样式.mp4
  06 增删改查-表格在所在行中的对齐方式.mp4
  07 增删改查-表格内容的排序.mp4
  08 列操作-列的索引和选择.mp4
  09 列操作-插入列.mp4
  10 列操作-设置列宽.mp4
  11 列操作-删除列.mp4
  12 行操作-行的索引和选择.mp4
  13 行操作-插入行.mp4
  14 行操作-设置行高.mp4
  15 行操作-删除行.mp4
  16 单元格操作-单元格的索引和选择.mp4
  17 单元格操作-获取单元格中的文本.mp4
  18 单元格操作-插入单元格.mp4
  19 单元格操作-单元格的清除和删除.mp4
  20 单元格操作-在单元格中插入文本.mp4
  21 单元格操作-单元格中文本字体的设置.mp4
  22 单元格操作-设置单元格的底纹.mp4
  23 单元格操作-单元格的大小.mp4
  24 单元格操作-单元格的边框.mp4
  25 单元格操作-单元格内部边距.mp4
  26 单元格操作-合并和拆分单元格.mp4
  27 单元格操作-表格内部文本的对齐方式.mp4
12 图形
  01 创建图形-相关对象.mp4
  02 创建图形-点.mp4
  03 创建图形-直线段.mp4
  04 创建图形-矩形、圆角矩形、椭圆和圆.mp4
  05 创建图形-多义线和多边形.mp4
  06 创建图形-曲线.mp4
  07 创建图形-标签.mp4
  08 创建图形-文本框.mp4
  09 创建图形-标注.mp4
  10 创建图形-自选图形.mp4
  11 创建图形-艺术字.mp4
  12 属性设置-颜色设置.mp4
  13 属性设置-线条属性-LineFormat对象、颜色、线型和线.mp4
  14 属性设置-线条属性-箭头、透明度和图案填充.mp4
  15 属性设置-面的属性-FillFormat对象、颜色和透明度.mp4
  16 属性设置-面的属性-单色填充和渐变色填充.mp4
  17 属性设置-面的属性-图案填充、图片填充和纹理填充.mp4
  18 属性设置-文本属性.mp4
  19 图形变换-图形平移.mp4
  20 图形变换-图形旋转.mp4
  21 图形变换-图形缩放.mp4
  22 图形变换-图形翻转.mp4
  23 图形变换-动画.mp4
  24 图片操作-添加图片.mp4
  25 图片操作-图片的几何变换.mp4
13 图表
  01 创建图表-创建浮动图表.mp4
  02 创建图表-创建嵌入式图表.mp4
  03 创建图表-绑定数据.mp4
  04 图表序列-设置图表的类型.mp4
  05 图表序列-Chart对象的常用属性和方法.mp4
  06 图表序列-设置序列.mp4
  07 图表序列-设置序列中单个点的属性.mp4
  08 基本图形元素-颜色设置.mp4
  09 基本图形元素-线形图元的属性设置.mp4
  10 基本图形元素-区域的透明度和颜色填充.mp4
  11 基本图形元素-区域的图案图片纹理填充.mp4
  12 坐标系-Axes对象和Axis对象.mp4
  13 坐标系-坐标轴.mp4
  14 坐标系-坐标轴标题.mp4
  15 坐标系-数值轴取值范围.mp4
  16 坐标系-刻度线.mp4
  17 坐标系-刻度标签.mp4
  18 坐标系-网格线.mp4
  19 坐标系-多轴图.mp4
  20 坐标系-对数坐标图.mp4
  21 图表元素-SetElement方法.mp4
  22 图表元素-图表区域绘图区.mp4
  23 图表元素-图例.mp4
  24 输出-将图表复制到剪贴板.mp4
  25 输出-图表保存为图片.mp4
14 正则表达式
  01 概述-什么是正则表达式.mp4
  02 概述-正则表达式示例.mp4
  03 Python使用正则表达式-re模块-查找.mp4
  04 Python使用正则表达式-re模块-替换.mp4
  05 Python使用正则表达式-re模块-分割.mp4
  06 Python使用正则表达式-Match对象.mp4
  07 Python使用正则表达式-Pattern对象.mp4
  08 编写正则表达式-元字符.mp4
  09 编写正则表达式-重复.mp4
  10 编写正则表达式-字符类.mp4
  11 编写正则表达式-分支条件.mp4
  12 编写正则表达式-捕获分组和非捕获分组.mp4
  13 编写正则表达式-零宽断言.mp4
  14 编写正则表达式-负向零宽断言.mp4
  15 编写正则表达式-贪婪与懒惰.mp4