Skip to content

第46课 · AI 操作 Word 的 3 种方案

本节要点

  • AI 操作 Word 有 3 条完全不同的技术路线,先选路线再挑工具
  • python-docx:AI 默认用的库,轻量跨平台,适合创建新文档和批量填表;但不支持修订、目录更新、复杂样式
  • anthropic 官方 docx Skill(XML 工具链):改老文档能力最强,能处理修订、转 PDF、复杂样式;需要安装 Skill + LibreOffice + pandoc
  • win32com / AppleScript(原生自动化):启动真实 Word 进程操作,格式 100% 精确,连宏都能跑;仅限 Windows(Mac 用 AppleScript)
  • 一句话决策:建新 → python-docx,改老 → XML 工具链,精调格式 → win32com
  • 审计场景推荐:主力 anthropic docx Skill,辅助 python-docx,兜底 win32com

1. 为什么 AI 操作 Word 经常翻车

用过 AI 操作 Word 的人应该都有体会——让它帮忙改个格式,结果 Word 打开后样式全乱了。

根本原因在于:AI 默认用的都是 python-docx 这个 Python 库。而这个库的本质是「猜测 XML」——它按自己的理解去生成 Word 文档的 XML 结构,但 Word 打开后真正呈现的效果由 Word.exe 说了算。

所以常见的翻车场景有:

  • 改格式后用 Word 打开,样式全丢了
  • 修订模式打不开,直接报错
  • 目录字段不更新,永远显示旧数据
  • 页眉页脚继承错乱,格式乱了
  • 复杂表格变形,合并单元格消失

💡 关键认知:python-docx 是"在猜 XML",Word.exe 才是裁判。它改的是近似,不是精确。

但问题在于——AI 操作 Word 不是一个东西,是 3 条完全不同的路。选错路线,再强的 AI 也调不出你要的格式。


2. 3 种方案一图看懂

方案本质安装量最适场景
python-docx 库pip install python-docx4.1K创建新文档、批量填表、跨平台
anthropic 官方 docxXML 直改 + 工具链148.6K改老文档、处理修订、转 PDF
原生 Word 自动化pip install pywin32(Windows)/ AppleScript(Mac)按平台格式精调、宏操作、100% 视觉一致

有趣的是:anthropic 官方这个 docx Skill 是 Three.js 作者 mrdoob 写的,安装量 148.6K,遥遥领先。说明它确实解决了 python-docx 解决不了的痛点。

💡 主流 ≠ 万能。148.6K 安装不代表它适合所有场景,选路线比找工具重要。


3. 方案一:python-docx 库(AI 默认,轻量跨平台)

擅长什么

  • 创建新文档:让 AI 直接生成一个 Word 报告,不用模板,它自己从头写——这个场景 python-docx 是最合适的
  • 批量填表:结构化内容填充
  • 字体/段落/简单样式控制
  • 跨平台:Windows、Mac 都能用

做不到什么

  • 修订/批注交互(直接报错)
  • 目录字段更新
  • 复杂页眉页脚继承
  • 宏/VBA 操作
  • Word 打开后样式保留

python-docx 的代码大概长这样(AI 会自动写,库也会自动装,不需要手动操作):

python
from docx import Document
from docx.shared import Pt

doc = Document('审计报告.docx')
for p in doc.paragraphs:
    if p.style.name == 'Heading 1':
        p.runs[0].font.size = Pt(18)
doc.save('审计报告_改.docx')

💡 Skills 市场上有一个 claude-office-skills/skills@docx-manipulation 的提示包(可选),作用是给 AI 看 python-docx 的用法参考——装不装都能用 python-docx,装了 AI 可能写得更准一点。


4. 方案二:anthropic 官方 docx Skill(改老文档最强)

如果你要操作的是一个已有模板、格式要求高、涉及修订或目录,那 python-docx 大概率搞不定。这时候需要方案二——原生 XML 工具链

思路很简单:.docx 文件本质上是一个 ZIP 压缩包,里面装的 XML。直接解开 ZIP,改 XML,再打包回去——这样操作的就是 Word 自己用的原生格式,还原度最高。

安装方法

bash
npx skills add anthropics/skills@docx -g -y

这个命令装的是 anthropic 官方出的 docx Skill(Three.js 作者 mrdoob 写的)。脚本跟着 Skill 走,所以必须装

还需要系统装两个工具

  • LibreOffice(提供 soffice 命令):用于格式转换和文本提取
  • pandoc:用于文档格式之间的转换

这两个 Skill 会自动调用,提前装好就行。

它能做 python-docx 做不到的

  • 接受/拒绝修订(tracked changes)
  • 转 PDF
  • 处理 .doc 老格式
  • 复杂样式精确控制

代码示例(AI 会自动执行)

bash
# 解开 docx 改 XML,再打包回去
python scripts/office/unpack.py 审计报告.docx unpacked/
# 编辑 unpacked/word/document.xml
python scripts/office/repack.py unpacked/ 审计报告_改.docx

# 接受所有修订
pandoc --track-changes=accept 审计报告.docx -o clean.docx

审计场景改老文档

如果你要操作的是审计报告模板、往现成的 Word 里填数并保留格式——这个方案的能力天花板最高。


5. 方案三:原生 Word/WPS 应用自动化(100% 精确)

前两个方案都是在「模拟 Word」,但方案三直接启动真实的 Word 进程去操作——Word 本身有什么功能,你就能调什么功能。

三种主流实现

平台实现方式说明
🪟 Windows MS Wordwin32com.client.DispatchAI 自动 pip install pywin32
🍎 macOS MS WordAppleScript系统自带,无需安装
🧩 WPS 用户lc2panda/wps-skills@wps-word1.2K 安装,最热门 WPS Skill

⚠️ 生态现状:没有像 xlwings 那样的 Word 标准封装——因为 Word 的 COM 接口太复杂,社区放弃了。直接让 AI 现写 win32com 代码是最实用的方案。

代码示例

Windows(pywin32):

python
import win32com.client

word = win32com.client.Dispatch("Word.Application")
doc = word.Documents.Open(r'C:\审计报告.docx')
for p in doc.Paragraphs:
    if p.Style.NameLocal == '标题 1':
        p.Range.Font.Color = RGB(192, 0, 0)
doc.Save()

Mac(AppleScript):

applescript
tell application "Microsoft Word"
    -- AppleScript 直接操作文档
end tell

这个方案的优缺点

优点:格式最精确,目录字段更新、宏/VBA、页眉页脚复杂继承——Word 能做的它都能做

缺点

  • 仅限 Windows(Mac 用 AppleScript 但功能有限)
  • 需要本机装 Office
  • 比前两种方案慢(因为要启动真实的 Word 进程)

6. 同一个任务,3 种写法对比

任务:把审计报告里所有「标题 1」改成 18pt 红色。

方案代码
python-docxfor p in doc.paragraphs: if p.style.name=='Heading 1': p.runs[0].font.color=RGBColor(192,0,0)
XML 直改解 zip → 找 w:pStyle → 改 w:color → 打包
win32comfor p in doc.Paragraphs: if p.Style.NameLocal=='标题 1': p.Range.Font.Color=RGB(192,0,0)

同一个需求,3 条路的走法完全不同——这就是为什么「先选路线」是本课唯一要记住的心法。


7. 能力对比矩阵

能力python-docxXML 工具链原生操作
创建新文档
改老文档内容⚠️ 仅简单最强
字体段落格式最强
修订模式✅ 接受/拒绝
目录/字段更新⚠️ 配合 LibreOffice
页眉页脚复杂继承⚠️
宏/VBA
跨平台❌ 仅 Windows
需要本机装 Word⚠️ 需 LibreOffice

8. 选型决策树

不知道怎么选?按这个流程走:

你要做什么?
├── 创建新文档,不用模板?
│   └── → python-docx(AI 自动装,跨平台)

├── 改老文档,涉及修订/目录/复杂格式?
│   └── → anthropic 官方 docx Skill(必装)

└── 100% Word 视觉一致(连宏都跑)?
    └── → win32com(Windows)/ AppleScript(Mac)

审计场景三层组合

角色方案场景
🎯 主力anthropic 官方 docx Skill改老文档、处理修订、转 PDF
🔧 辅助python-docx批量创建简单文档、快速原型
🛡️ 兜底win32com 代码极致格式精调、100% 视觉一致

不用考虑 MS Graph 和 Pandoc 的单独方案。专注这 3 种就够了。


9. 怎么找和装 Word 相关的 Skill

方法还是第 9 课find-skills。对 AI 说:

帮我用 find-skills 查找一下操作 Word 的 Skill,最好是热门度比较高、评分比较高的。

它会帮你搜出排名靠前的 Word 相关 Skill。排名第一的通常是 anthropic 官方的 docx Skill。

如果要安装,直接对 AI 说:

安装这个 anthropic 官方的 docx Skill。

它会自动执行 npx skills add anthropics/skills@docx -g -y

💡 如果你用的是 Claude Code:在 Claude Code 的插件市场里也可以搜索安装 Office 相关的 Skill,第 25 课有详细讲。


10. 安装命令汇总

bash
# ===== 方案二(必装):anthropic 官方 docx Skill =====
npx skills add anthropics/skills@docx -g -y
# ⚠️ 还需要系统装 LibreOffice + pandoc

# ===== 方案一(可选提示包,不装也能用 python-docx)=====
npx skills add claude-office-skills/skills@docx-manipulation

# ===== 方案三:原生 Word 自动化 =====
# Windows:AI 自动 pip install pywin32
# Mac:AppleScript 系统自带,无需装任何东西
# WPS 用户可选:
npx skills add lc2panda/wps-skills@wps-office

💡 装完 Skill 后重启 AI 工具才能生效。如果装完没反应,先退出再重开。


⚠️ 常见问题

python-docx 和 anthropic docx Skill 有什么区别?

python-docx 是一个 Python 库,AI 写代码时调用它来操作 Word。anthropic docx 是一个 Skill,它装了一组脚本(unpack.py / pack.py 等),走的是「解 ZIP → 改 XML → 打包」的路线。后者处理老文档的能力更强,但需要额外安装 LibreOffice 和 pandoc。

我不用 Skill,直接让 AI 用 python-docx 行不行?

行。AI 默认就会用 python-docx 库,不需要装任何 Skill。但你得知道它的能力边界——简单的创建文档、填表没问题;复杂的修订、目录、页眉页脚就别指望它了。

Mac 没有 pywin32 怎么办?

Mac 有 AppleScript,系统自带的。对 AI 说「用 AppleScript 操作 Word」,它就能写出对应的脚本。但功能上比 Windows 的 win32com 少一些。

WPS 能用这些方案吗?

WPS 也有对应的操作接口。Skills 市场上有一个 lc2panda/wps-skills@wps-word(1.2K 安装),就是专门操作 WPS 的。不过我没亲自试过,你可以装来试试。

微软 Graph API 呢?

不用考虑。那套 API 走的是云端路线,跟本地文件操作是两码事。专注上面 3 种就够了。

装完 Skill 没反应?

先重启 AI 工具。Skill 是启动时加载的,运行中装的新 Skill 不一定能马上识别。退出 OpenCode / Claude Code 重新打开试试。

哪种方案效果最好?

纯论效果:win32com(Windows)> anthropic docx Skill > python-docx。但 win32com 只能 Windows 用,而且需要装 Word。如果跨平台的话,anthropic docx Skill 综合下来是最推荐的。


关键收获

TIP

AI 操作 Word,先选路线,再动手

  • 创建新文档 → python-docx(AI 自动装,跨平台)
  • 改老文档、处理修订、转 PDF → anthropic 官方 docx Skill(必装)
  • 100% 格式精确、跑宏、极致精调 → win32com(Windows)/ AppleScript(Mac)

审计场景记住三个字:XML 工具链(改老)+ python-docx(建新)+ win32com(精调)。

主流 ≠ 万能。anthropic 官方 docx Skill 改老文档的能力吊打 python-docx,但很多 AI 默认不会用它——你作为用户,需要主动告诉 AI 选哪条路。这是本课最想传递的一个认知。


参考链接

© 2025 逆行的狗