用途
Automating Word 用于在 macOS 上自动化 Microsoft Word 操作。它采用 JXA(JavaScript for Automation)作为主要编写方式,同时把 AppleScript 字典作为发现 Word 对象、属性和方法的依据,相当于一个独立针对 Word 的技能,写法上与 automating-mac-apps 的模式保持一致。
核心思路
Word 的字典以 AppleScript 为主,因此对象与方法的探索应从 AppleScript 字典入手;JXA 负责承载逻辑、数据处理以及通过 ObjC 桥接访问的能力。文档中的对象本质上是 specifier,读取内容通过方法调用完成,写入通过赋值完成。涉及 Word 操作时,建议使用 try/catch 与 Application 错误检查来处理异常。
使用方式与实现流程
资料给出的实现流程包括:先在 Script Editor 中浏览 Word 的 AppleScript 字典,理解可用的对象与方法;再把发现到的 AppleScript 语法翻译为 JXA 等效写法,可参考字典翻译表;随后初始化 Word 应用对象与文档引用;实现查找替换、表格操作或导出等具体操作;最后运行脚本并验证文档改动是否符合预期。
主要能力与示例
技能提供三类快速示例。文档打开:在 JXA 中通过 Application('Microsoft Word') 获取应用对象,再调用 word.documents.open('/path/to/document.docx');PyXA 版本则使用 PyXA.Word() 并调用 word.documents().open(...)。查找替换:JXA 中取 word.activeDocument.content,设置 range.find.text、range.find.replacement.text,再执行 range.find.execute({replace: 'all'});PyXA 中相应地设置 find_obj.text 与 find_obj.replacement.text,再执行 execute(replace='all')。表格创建:JXA 中通过 word.activeDocument.tables.add(word.activeDocument.content, 3, 4) 添加表格,再用 table.cell(1, 1).range.text = 'Header' 写入内容;PyXA 中对应为 doc.tables().add(doc.content(), 3, 4) 与 table.cell(1, 1).range().text = 'Header'。
校验清单
实现 Word 自动化后,资料建议检查以下几点:脚本可无错误执行;文档改动已正确应用;ObjC 桥接对象返回预期值;运行查找替换并确认替换结果;导出文档并验证输出格式。
加载的参考内容
技能引用了若干参考文件:word-basics(Word JXA 基础,核心概念)、word-recipes(范围、查找替换、表格等配方)、word-advanced(导出枚举、ObjC 桥接等高级模式)、word-dictionary(字典翻译表)、word-pyxa(PyXA Python 替代方案)。另提到 PyXA 的安装方式需参考 automating-mac-apps 技能的 PyXA 安装章节。
适用场景与限制
适用于在 macOS 上自动操作 Word 文档,例如打开文档、执行查找替换、生成表格、导出文档等。需要权限、Shell 执行或 UI 脚本指导时,应参考同系列的 automating-mac-apps 技能。资料明确列出不应使用该技能的情形:通用 macOS 自动化(应使用 automating-mac-apps)、Excel 自动化(应使用 automating-excel)、非 Microsoft Office 应用,以及基于网页的文档处理(应使用 Web API 或 Playwright)。关于收费、价格、平台支持范围等更多信息,资料暂未提供。