ONLYOFFICE 自动化工具:宏和AI函数如何选择?
ONLYOFFICE 为您提供了两种工具来进行自动化工作:宏和 AI 函数。它们能帮助您节省时间、减少手动操作,从而更高效地工作。
这两种工具都能让您的工作更高效、更智能,但它们的工作原理不同,适用的场景也各有侧重。无论您是需要开发定制化解决方案的开发者,还是希望提升日常办公效率的普通用户,这份指南都能帮您选对合适的工具。

基础知识
什么是 ONLYOFFICE 宏?
ONLYOFFICE 宏是一种小型脚本,可用于自动化文档、电子表格和演示文稿中的重复性任务。它基于 JavaScript 语言和 Office API,能让您直接在编辑器内完成内容格式化、数据更新和自定义工作流搭建等操作。
如何使用宏:
- 打开视图选项卡,点击宏。
- 使用 Office API 编写 JavaScript 代码。
- 点击运行来执行宏。
- 脚本会直接操作文档。
注意: 从 7.1 版本开始,宏在严格模式下运行。这意味着您必须在使用的所有变量前使用 let 或 const 进行声明。不能使用 window、document 或 alert 函数。
示例:为表格行交替着色
(function () {
let worksheet = Api.GetActiveSheet();
for (let i = 1; i < 200; i += 2) {
let rowOdd = i,
rowEven = i + 1;
worksheet.GetRange(
"A" + rowOdd + ":S" + rowOdd).SetFillColor(Api.CreateColorFromRGB(138, 181, 155)
);
worksheet.GetRange(
"A" + rowEven + ":S" + rowEven).SetFillColor(Api.CreateColorFromRGB(216, 227, 220)
);
}
})();
这个宏可以在不到一秒的时间内为 200 行数据交替着色——如果是手动操作则需要不少时间。
什么是 ONLYOFFICE AI 函数?
AI 函数将 ONLYOFFICE 与 ChatGPT 等 AI 模型连接起来。它们允许您使用提示词来运行 AI 驱动的文档操作,使编辑器能够根据您的要求执行自动化操作。AI 函数是 AI 插件的一部分,该插件自 2.4.2 版本引入。
设置
- 将
onlyoffice.github.io仓库克隆到本地设备。 - 在 helpers 文件夹 (
sdkjs-plugins/content/ai/.dev/helpers)中编写自定义 AI 函数代码。 - 根据编辑器类型,将代码放入对应的
cell,slide, 或word文件夹 - 更新
config.js文件中的 AI 插件版本号,避免缓存问题(例如将版本号从 3.0.3 升级至 3.0.4)。 - 运行
helpers.py文件. - 选中
ai文件夹 (sdkjs-plugins/content/ai), 内的所有插件文件,压缩为 zip 格式,并将压缩包重命名为ai.plugin. - 将该压缩包放回
sdkjs-plugins/content/ai/deploy. - 推送更改。
- 基于此仓库构建 GitHub Pages 站点,具体操作可参考 GitHub Pages 官方文档。
- 准备自定义应用商店链接:在 GitHub Pages 网址后添加 /store/index.html,最终链接格式为:
https://YOUR-USERNAME.github.io/onlyoffice.github.io/store/index.html - 打开 ONLYOFFICE 编辑器,进入插件→插件管理器。
- 点击插件管理器右上角的商店</>,输入您创建的自定义应用商店链接。
- 更新 AI 插件。
注意!如需查看更详细的操作指南,可参考这篇文章。
如何使用 AI 函数
- 根据需求配置 AI 服务提供商及对应的 API 密钥。
- 按下快捷键 Ctrl + /,打开 AI 对话窗口。
- 输入指令(例如解释这段文本)。
- AI 会自动匹配合适的功能并执行操作。
- 结果将直接呈现在文档中。
AI 函数会记忆对话历史,您可以提出跟进问题或优化结果。若想重新开始对话,按下快捷键 Ctrl + Alt + / 即可。
示例:添加 AI 批注
使用 commentText 函数,可为选中的文本添加智能批注,具体步骤如下:
- 在文档中选中需要处理的文本。
- 按下快捷键 Ctrl + /,打开 AI 对话窗口。
- 输入指令:解释这段文本。
- 按下回车键提交指令。
AI 会读取选中的文本内容,生成对应的解释,并将其作为批注添加到文档中。
运行逻辑:
// Simplified structure of an AI Function
func.call = async function (params) {
// 1. Get the selected text
let text = await Asc.Editor.callCommand(function () {
let doc = Api.GetDocument();
let range = doc.GetRangeBySelect();
return range ? range.GetText() : "";
});
// 2. Ask the AI model
let requestEngine = AI.Request.create(AI.ActionType.Chat);
let argPrompt = params.prompt + ":\n" + text;
// 3. Add the AI's answer as a comment
await requestEngine.chatRequest(argPrompt, false, async function (data) {
await Asc.Editor.callCommand(function () {
let doc = Api.GetDocument();
let range = doc.GetRangeBySelect();
range.AddComment(data, model, "uid" + model);
});
});
};
您可以在此处查看完整的 commentText 函数代码。
为何 AI 函数更灵活
AI 函数分别调用 CallCommand,这使您可以在文档操作前后执行自定义逻辑。这使它们非常适合 AI 集成——您可以向 AI 模型发送请求,处理响应,然后更新文档。而宏应用将所有操作都封装在 CallCommand 内,这更简单但灵活性较低。
主要区别
宏用于直接的、离线的文档操作。AI 函数用于将 AI 模型与 ONLYOFFICE 集成。
以下是它们的对比:

适用场景选择
选择宏功能
当您需要直接操作文档时:
- 离线工作 – 无需互联网连接。
- 零成本 – 免费无限次自动化。
- 直接进行文档操作 – 格式化、数据操作、计算。
- 结果一致 – 相同的输入总是产生相同的输出。
- 快速原型设计 – 编写代码并在编辑器中立即测试。
- 生产性工作 – 财务报告、合规文档、自动化工作流。
选择 AI 函数
当您的自动化需要 AI 函数时:
- AI 模型集成 – 连接 AI 服务并使用其输出。
- 文档自动化 – 将 AI 结果直接应用到文档中。
- 上下文处理 – 处理内容时能感知选区或文档结构。
- 高级逻辑 – 需要在文档操作前后执行自定义代码的灵活性。
总结
ONLYOFFICE 宏功能和 AI 函数的定位与用途各不相同,核心区别可以总结为一段话:
宏能用于直接操作文档,免费、支持离线使用,是所有无需人工智能参与的自动化场景的理想选择,适用于文档格式化、数据计算、数据处理和自定义公式编写等任务。
AI 函数用于将 ONLYOFFICE 与人工智能模型集成,它的开发难度比宏功能更高,需要联网且产生一定的使用成本,但却是需要人工智能能力时的最佳选择,适用于内容生成、文档处理和人工智能驱动的文档任务自动化等场景。
ONLYOFFICE 正在持续优化这两种工具,宏功能新增了异步函数等特性,AI 函数也在逐步完善,即将结束测试阶段,未来会具备更高的稳定性和更丰富的功能。同时掌握这两种工具,您就能充分发挥 ONLYOFFICE 的自动化办公能力。
创建免费的 ONLYOFFICE 账户
在线查看并协作编辑文本文档、电子表格、幻灯片、表单和 PDF 文件。


