教程:从 Power Automate 流更新电子表格

本教程介绍如何通过 Power Automate 运行 Office 脚本 for Excel。 你将创建一个脚本,以当前时间更新两个单元格的值。 然后,你可以将该脚本连接到手动触发的 Power Automate 流,以便每当选择 Power Automate 中的按钮时,脚本就会运行。 了解基本模式后,可展开流以包括其他应用程序,并自动执行更多日常工作流。

提示

如果不熟悉 Office 脚本,建议从 教程:创建 Excel 表并设置其格式开始。 Office 脚本使用 TypeScript,本教程面向在 JavaScript 或 TypeScript 方面具备初级到中级知识的人员。 如果你不熟悉 JavaScript,建议从 Mozilla JavaScript 教程入手。

先决条件

在本教程中,你需要访问 Office 脚本和 Power Automate。 如果未显示“自动”选项卡,请查看 平台支持Power Automate 注册常见问题解答包含有关 Power Automate 入门的信息。

准备工作簿

Power Automate 不应使用Workbook.getActiveWorksheet之类的相对引用访问工作簿组件。 因此,你需要一个具有 Power Automate 可引用的一致名称的工作簿和工作表。

  1. 创建名为 MyWorkbook 的新工作簿。

  2. MyWorkbook 工作簿中,创建一个名为 TutorialWorksheet 的工作表。

创建 Office 脚本

  1. 转到“ 自动 ”选项卡,然后选择“ 新建脚本”。

  2. 将默认脚本替换为以下脚本。 此脚本将当前日期和时间添加到 TutorialWorksheet 工作表的前两个单元格。

    function main(workbook: ExcelScript.Workbook) {
      // Get the "TutorialWorksheet" worksheet from the workbook.
      let worksheet = workbook.getWorksheet("TutorialWorksheet");
    
      // Get the cells at A1 and B1.
      let dateRange = worksheet.getRange("A1");
      let timeRange = worksheet.getRange("B1");
    
      // Get the current date and time using the JavaScript Date object.
      let date = new Date(Date.now());
    
      // Add the date string to A1.
      dateRange.setValue(date.toLocaleDateString());
    
      // Add the time string to B1.
      timeRange.setValue(date.toLocaleTimeString());
    }
    
  3. 将脚本重命名为 "设置日期和时间"。 选择脚本名以进行更改。

  4. 通过选择“保存脚本”来保存脚本。

使用 Power Automate 功能创建自动工作流

  1. 登录 Power Automate 网站

  2. 在屏幕左侧显示的菜单中,选择“创建”。 这会介绍创建新工作流的方法列表。

    Power Automate“创建”按钮。

  3. 从空白开始部分中,选择即时流。 这将创建手动激活的工作流。 还可以创建计划流和基于事件启动的流。 接下来的教程将介绍这些内容。

    用于创建新工作流的 Power Automate 即时流选项。

  4. 在出现的对话框窗口中,在 "流名称" 文本框中输入流的名称。 在 “选择触发流的方式”下,从选项列表中选择 “手动触发流 ”。 选择“ 创建 ”以完成初始设置。

    Power Automate

    请注意,手动触发流仅是许多类型流中的一种。 在下一个教程中,你将创建收到电子邮件时自动运行的流程。

  5. 在流生成器中 + ,选择按钮和 “添加操作”。

  6. “添加操作 ”任务窗格中,搜索“Excel 运行脚本”。 选择 Excel Online (Business) 连接器的 “运行脚本 ”操作。 此操作在工作簿上运行 OneDrive 中的脚本。 如果要使用存储在团队的 SharePoint 库中的脚本,则应使用 “从 SharePoint 库运行脚本” 操作。

    显示 Excel Online (Business) 连接器的操作选择任务窗格。突出显示了“运行脚本”操作。

  7. 系统可能会要求你登录 Microsoft 365 帐户。 请执行此操作以继续学习本教程。

  8. 接下来,选择要在流步骤中使用的工作簿和脚本。 对于本教程,你将使用在 OneDrive 中创建的工作簿,但可以在 OneDrive 或 SharePoint 网站中使用任何工作簿。 为 “运行脚本” 操作指定以下参数:

    • 位置:OneDrive for Business
    • 文档库:OneDrive
    • 文件: MyWorkbook.xlsx (通过文件浏览器选择)
    • 脚本:设置日期和时间

    用于运行脚本的 Power Automate 连接器设置。

  9. 选择“保存”。

    Power Automate 中的“保存”按钮。

现在,你的流程可以通过 Power Automate 运行。 可使用流编辑器中的 "测试" 按钮对其进行测试,或按照其余教程步骤运行流集合中的流程。

通过 Power Automate 运行脚本

  1. 在 Power Automate 主页面上,选择我的流

     Power Automate 中的

  2. 从 "我的流" 选项卡中显示的流列表中选择 我的教程流。这将显示之前创建的流程的详细信息。

  3. 选择“运行”。

     Power Automate 中的“运行”按钮。

  4. 将显示用于运行流的任务窗格。 如果系统要求 登录 到 Excel Online,请通过选择“继续”来执行操作。

  5. 选择“运行流”。 此时将运行流,该流将运行相关的 Office 脚本。

  6. 选择“完成”。 应看到相应的运行历史记录更新。

  7. 刷新页面,查看 Power Automate 的结果。 如果失败,请验证流的设置并再次运行。

     Power Automate 输出显示成功流运行。

  8. 打开工作簿以查看更新的单元格。 应在单元格 A1 中看到当前日期和单元格 B1 中的当前时间。 Power Automate 使用协调世界时 (UTC) ,因此时间可能会从当前时区偏移。

    显示单元格 A1 和 B1 中的日期和时间值的工作簿。

后续步骤

完成 教程:自动保存工作簿中电子邮件中的内容。 它教你如何将数据从工作流服务传递到你的 Office 脚本,并在发生特定事件时运行 Power Automate 流。