ONLYOFFICE 深度解锁系列.29-ONLYOFFICE 自动化工具宏和 AI 函数

ONLYOFFICE 提供宏和 AI 函数两种自动化工具,帮助用户节省时间、减少手动操作,提升工作效率。尽管目标一致,但两者的工作原理和适用场景有所不同。本指南将协助开发者和普通用户根据需求选择合适工具。
基础知识
什么是 ONLYOFFICE 宏?
ONLYOFFICE 宏是基于 JavaScript 和 Office API 的小型脚本,用于自动化文档、电子表格和演示文稿中的重复任务。用户可通过宏直接操作编辑器内容,实现格式化、数据更新或自定义工作流。
Office API 参考:
https://api.onlyoffice.com/zh-CN/docs/office-api/get-started/overview
使用方法:
打开“视图”选项卡,点击“宏”;
使用 Office API 编写 JavaScript 代码;
点击“运行”执行脚本。
注意:自版本 7.1 起,宏在严格模式下运行,需使用 let 或 const 声明变量,且不可使用 window、document 或 alert 函数。
示例:表格行交替着色
以下宏可为 200 行数据快速设置交替背景色:
(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)); }})();
什么是 ONLYOFFICE AI 函数?
AI 函数通过连接 ChatGPT 等模型实现 AI 驱动的文档操作。该功能自插件版本 2.4.2 起提供。
设置步骤:
克隆 onlyoffice.github.io 仓库至本地;
在 helpers 文件夹(sdkjs-plugins/content/ai/.dev/helpers)中编写自定义函数代码;
按编辑器类型将代码放入对应 cell、slide 或 word 文件夹;
更新 config.js 中的插件版本号(如 3.0.3→3.0.4);
运行 helpers.py,将 ai 文件夹内容压缩为 ai.plugin;
放回 sdkjs-plugins/content/ai/deploy 路径;
推送更改并构建 GitHub Pages 站点;
在 ONLYOFFICE 插件管理器中添加自定义商店链接(格式:https://用户名.github.io/onlyoffice.github.io/store/index.html);
更新 AI 插件。
使用方法:
配置 AI 服务商及 API 密钥;
按 Ctrl+/ 打开 AI 对话窗口;
输入指令(如“解释这段文本”);
AI 将自动匹配功能并输出结果至文档。对话历史会被记忆,按 Ctrl+Alt+/ 可重新开始对话。
示例:添加 AI 批注
通过 commentText 函数为选中文本添加智能批注:
选中文本;
按 Ctrl+/ 输入指令;
AI 生成解释并插入为批注。
核心逻辑代码片段:
func.call = async function (params) { let text = await Asc.Editor.callCommand(() => { let doc = Api.GetDocument(); let range = doc.GetRangeBySelect(); return range ? range.GetText() : ""; }); let requestEngine = AI.Request.create(AI.ActionType.Chat); let argPrompt = params.prompt + ":n" + text; await requestEngine.chatRequest(argPrompt, false, async (data) => { await Asc.Editor.callCommand(() => { let doc = Api.GetDocument(); let range = doc.GetRangeBySelect(); range.AddComment(data, model, "uid" + model); }); });};
完整代码参考:
https://api.onlyoffice.com/zh-CN/docs/plugin-and-macros/samples/custom-ai-functions-samples/text-document-editor/commentText/
灵活性优势
AI 函数可分别调用 CallCommand,支持在文档操作前后执行自定义逻辑,更适合集成 AI 模型并处理响应。而宏将所有操作封装在 CallCommand 内,灵活性较低但更简单。
主要区别

适用场景选择
选择宏的情况:
离线工作:无需网络连接;
零成本:完全免费;
直接文档操作:格式化、数据计算等;
结果一致:相同输入必得相同输出;
快速原型测试:代码即时运行;
生产环境:财务报告、合规文档等自动化流程。
选择 AI 函数的情况:
集成 AI 模型:需调用外部 AI 服务;
智能文档处理:将 AI 结果直接应用于文档;
上下文感知操作:基于选区或文档结构处理;
高级逻辑需求:需在文档操作前后执行自定义代码。
总结
宏适用于离线、免费、需精确控制的自动化任务,如文档格式化与数据计算。AI 函数则面向需人工智能能力的场景,如内容生成或智能处理,虽需联网且产生成本,但灵活性更高。ONLYOFFICE 正持续优化两者功能,建议用户根据需求组合使用。
福利推荐-安装获取方法
豆豆容器市场专注提供优质Docker应用服务,集成一键式容器安装功能,助力用户快速部署OnlyOffice、协作空间、Jitsi-Meet会议系统、内网域名系统、Nextcloud、可道云等办公应用。平台新增IPv6内网直连技术,搭配自动化SSL证书配置及智能域名解析功能,为家庭云服务提供完整技术方案,简化私有云搭建与运维流程,轻松实现高效云端协作管理。
本容器市场针对各种nas设备优化,全线安装服务支持飞牛、群晖、威联通、麒麟、ubuntu、centors等各种linux系统。
独家发布飞牛云豆豆编辑器,支持直接编辑飞牛磁盘上的文档。
onlyoffice协作空间除了提供常规的标准版/企业版/开发版,还特别针对机器配置较低的用户,独家提供协作空间迷你版(仅需5g内存即可正常运行,官方其他版本需要16g内存)。
onlyoffice已经支持ARM和x86双模式安装,其他软件同步支持中。
地址: https://ds.sendtokindle.net.cn/
