Skip to content

Office Scripts 与云端办公自动化 ​

Office Scripts 使用 TypeScript 和 Excel 对象接口操作工作簿,可配合符合条件的 Power Automate 流程。是否有“自动化”选项卡取决于账号、许可、平台和管理员设置,不是安装了任意 Office 就必然可用。平台与许可要求

图示跟练把可重复的表格格式操作保存为脚本

点击步骤切换图示,再到 Office 中跟做;每一步都可跳到下方详细说明。

Excel练习文件 · 界面示意
③ 录制操作操作 / 设置示意

对象:练习表表头

动作:加粗与底色

详细输入与检查见本步正文 ↓
简化示意,非软件截图。以 Windows 中文界面为主,实际按钮位置与功能取决于版本;可在应用搜索框查找命令。

选择合适工具 ​

任务优先考虑
数值随输入实时变化Excel 公式
每月重复导入清洗和合并文件Power Query
桌面应用对象操作、已有宏项目VBA
受支持 Excel 环境中的可重复工作簿操作Office Scripts
按事件或时间串联服务与审批Power Automate,并核对连接器和权限

不是所有桌面操作都能直接录成脚本,也不是所有交互式脚本在流程中都支持相同的刷新和外部访问行为。先验证一个最小闭环,再扩展到多文件和定时任务。

录制与阅读脚本 ​

在练习文件中打开“自动化”,使用录制操作功能记录一次表头格式调整,停止后保存并查看代码。观察它是否依赖活动工作表、当前选择、固定地址或表名;把目标明确写成工作表和范围,可减少在错误页面执行的风险。

Office Scripts 的入口是接收 ExcelScript.Workbook 的 main 函数。示例代码需要在该脚本编辑器环境使用,不能直接粘到普通单元格、VBA 编辑器或浏览器控制台。脚本基础说明

固定练习区域的脚本 ​

先建立名为 订单练习 的工作表,复制八条订单到 A1:H9。下面代码会重写 H2:H9 公式,只适用于该练习副本:

ts
function main(workbook: ExcelScript.Workbook) {
  const sheet = workbook.getWorksheet("订单练习");
  if (!sheet) throw new Error("未找到订单练习工作表");
  const header = sheet.getRange("E1:H1").getTexts()[0];
  if (header[0] !== "数量" || header[1] !== "单价" || header[3] !== "金额") {
    throw new Error("练习表结构不符");
  }
  sheet.getRange("H2:H9").setFormulaR1C1("=RC[-3]*RC[-2]");
  sheet.getRange("H2:H9").setNumberFormat("0.00");
  sheet.getRange("A1:H1").getFormat().getFont().setBold(true);
  sheet.getRange("A1:H1").getFormat().getFill().setColor("#DDEBF7");
  sheet.getRange("A1:H9").getFormat().autofitColumns();
  workbook.getApplication().calculate(ExcelScript.CalculationType.full);
}

范围写入公式和格式使用 ExcelScript.Range 接口。本例反复运行是重新设置相同区域,不追加记录;但它没有备份、事务回滚或完整数据验证,正式使用时应根据任务补齐。

接入流程时检查什么 ​

需要定时执行时,在符合条件的 Power Automate 环境中选定文件和脚本,先手动触发一次,检查运行历史与实际工作簿结果。流程身份必须能访问文件;只在你个人浏览器中能打开,不代表流程连接拥有相同权限。

避免多个任务同时改同一文件,明确失败后是否重试,以及重试会不会重复新增数据。数据刷新、外部请求和连接器限制应按流程环境核对,不能把交互式成功当成无人值守执行已验证。

练习与验收 ​

先保存副本,运行脚本并核对合计 5120;运行第二次不应产生新行。删除或改名目标工作表后,脚本应明确报错。只有这些检查通过后,再尝试在测试文件上手动触发流程,记录一次运行输入、结果和失败信息。

示例未在你的实际 Microsoft 365 租户中执行,许可、权限和流程连接仍需在使用环境确认。

图示跟做:把可重复的表格格式操作保存为脚本 ​

按上方图示切换三个关键步骤;下面保留完整操作和检查结果,便于跟做与回查。请先使用练习副本。

第 1 步:先确认入口再录制 ​

定位:自动化 → 录制操作。

在支持 Office Scripts 的账号和 Excel 环境中打开练习工作簿,进入自动化选项卡,选择录制操作,调整一次表头格式并停止。保存脚本并给出明确名称。没有此选项卡时核对许可、平台和管理员设置,不把 VBA 编辑器当成替代入口。

第 2 步:把范围和依赖读清楚 ​

定位:自动化 → 代码编辑器。

打开脚本代码编辑器,对照正文 main 函数确认目标工作表名称、E1:H1 表头检查和 H2:H9 写入范围。先复制八条订单到练习表,确认列位置正确。Office Scripts 使用的 TypeScript 代码必须在脚本运行环境中执行,不能粘进单元格或 VBA 模块。

第 3 步:用两次运行验证幂等性 ​

定位:自动化 → 运行。

在副本运行脚本,检查金额公式、数值格式、表头和列宽;总额应仍是 5120。第二次运行不应新增行。故意改错一个被检查的表头时,示例应报错停止;恢复后再运行。计划接入自动流程前,还需单独验证文件权限与连接器限制。

没有得到预期结果时 ​

本篇只演示固定表格操作。自动流程中的刷新、外部请求和当前活动状态可能与手动运行不同,不应直接把录制成功理解为定时流程也能成功。

图示操作参考:微软官方:Office Scripts 基础。核对日期:2026-11-02;界面示意与练习案例为本站独立编写。

继续阅读