Office 脚本的平台限制和要求

开发 Office 脚本时,应注意一些平台限制。 本文详细介绍了 Excel Office 脚本的浏览器支持和数据限制。

平台支持

若要使用 Office 脚本,需要以下内容。

  1. Excel web 版 Excel for Windows (版本 2210 或更高版本) 或Excel for Mac。
  2. OneDrive for Business。
  3. 以下任一Microsoft 365 订阅许可证:
    • Office 365 商业版
    • Office 365 商业高级版
    • Office 365 专业增强版
    • Office 365 专业增强版(设备)
    • Office 365 A3
    • Office 365 A5
    • Office 365 企业版 E1
    • Office 365 企业版 E3
    • Office 365 企业版 E5
    • Office 365 F3
  4. 已启用 连接体验的 Internet 连接。

注意

如果符合这些要求,但仍不能看到 Automate 选项卡,你的管理员可能已禁用此功能,或者环境存在其他问题。 请按照 Automate 选项卡未出现或 Office 脚本不可用 下的步骤开始使用 Office 脚本。

重要

若要在 Power Automate 中使用 Office 脚本,必须具有 Microsoft 365 的业务许可证。 Office 365 企业版 E1 和 Office 365 F3 许可证可以将脚本与 Power Automate 配合使用,但不能直接在 Excel 中使用 Power Automate 集成。

数据限制

一次可以传输的 Excel 数据量以及可以执行单个 Power Automate 事务的次数存在限制。

Excel

Excel web 版在通过脚本调用工作簿时具有以下限制。

  • 请求和响应限制为 5MB
  • 范围限制为 500 万个单元格

如果超过其中一个 Excel 数据限制,则会收到以下错误消息:“响应有效负载大小已超出限制。”

如果在处理大型数据集时遇到错误,请尝试使用多个较小的区域,而不是更大的范围。 有关示例,请参阅 编写大型数据集 示例。 还可以使用 Range.getSpecialCells 等 API 来面向特定单元格,而不是大范围。

Excel 规范和限制一文中可以找到不特定于 Office 脚本的 Excel 限制

Power Automate

Power Automate 平台的以下限制是最有可能遇到的限制。

可在以下文章中找到其他 Power Automate 平台使用限制。

Power Automate 特定限制

在 Excel 应用程序中运行脚本和在 Power Automate 流中运行脚本之间有一些重要区别。

没有来自脚本的外部调用

通过 Power Automate 运行脚本时,外部 API 调用失败。 fetch调用将显示错误消息“运行时错误:第 X 行:未定义提取”。 在将脚本生成为流之前,请务必为此类引用检查脚本。

必须结合使用 HTTP 和 Azure AD 或其他等效操作,才能从外部服务拉取数据或将其推送到外部服务。

警告

通过 Power Automate Excel Online 连接器 进行的外部调用失败,以帮助维护现有的数据丢失防护策略。 但是,通过 Power Automate 运行的脚本是在组织外部和组织的防火墙外部完成的。 为了进一步防止此外部环境中的恶意用户,管理员可以控制 Office 脚本的使用。 管理员可以在 Power Automate 中禁用 Excel Online 连接器,或通过 Office 脚本 管理员控件关闭 Excel Office 脚本

API 行为差异

使用 Power Automate 运行时,某些 API 的行为有所不同。 其他由于依赖 Excel UI 而失败。 有关完整列表,请参阅 对 Power Automate 中运行的 Office 脚本进行故障排除

不支持 ISO 严格的 Open XML 工作簿

Excel Business (Online) 连接器的“运行脚本”操作不支持具有 ISO 严格版本的 Excel 工作簿文件格式的工作簿。 尝试运行脚本时,具有此类工作簿的流返回“BadGateway”错误。 这是由于共同创作的限制。 请将工作簿保存为标准 Excel 工作簿格式,以便与 Power Automate 配合使用。

Teams 支持

重要

将 Excel 与 Teams 配合使用时,Office 脚本仅在 Teams 网页版 (不支持 Teams for Windows、Mac、iOS 或 Android) 。

政府云支持

GCC High 或更高版本不支持 Office 脚本。 来自脚本的外部调用可能会受到其他政府云中的防火墙设置的影响。

用于Excel web 版的第三方 Cookie

浏览器需要启用第三方 Cookie 才能在 Excel web 版 中显示“自动”选项卡。 如果未显示选项卡,请检查浏览器设置。 如果使用专用浏览器会话,则每次可能需要重新启用此设置。

注意

某些浏览器将此设置称为“所有 Cookie”,而不是“第三方 Cookie”。

条件访问

条件访问 策略限制 对非托管设备的 SharePoint 和 OneDrive 的访问。 如果设备不是由租户管理的,则可能无法访问特定脚本,或者只能通过浏览器访问它们。

如果脚本被条件访问策略阻止,则会收到两条错误消息之一。 如果流从非托管设备运行,则 Power Automate 中也会显示这些消息。

  • “由于组织策略,无法从此不受信任的设备访问此资源。”
  • “找不到此脚本。 它可能已被其他用户删除。“ (如果 Excel 版本较旧。)

重要

管理员应考虑阻止非托管设备对 Power Automate 的所有访问。 使用 Azure AD 条件访问策略控制对 Power Apps 和 Power Automate 的访问的博客文章中详细介绍了此过程。

旧版 Excel 上的 API 支持

Excel for Windows 或 Excel for Mac 可能不支持某些 Office 脚本 API,尤其是较旧的内部版本。 其中包括更新的 API 和仅限 Web 功能的 API。 如果脚本包含不受支持的 API,则代码编辑器显示警告。 如果尝试运行此类脚本,则不会运行。 相反,“脚本运行状态”任务窗格会显示一条警告消息,指出“此脚本当前必须在Excel 网页版上运行。 在浏览器中打开工作簿,然后重试,或联系脚本所有者寻求帮助。”

使用旧版 Excel 打开包含共享脚本的工作簿对脚本本身没有影响。

另请参阅