【问题标题】:How to execute microsoft excel office script programmatically?如何以编程方式执行 microsoft excel office 脚本?
【发布时间】:2020-09-27 10:01:44
【问题描述】:

我们一直致力于编写办公脚本而不是 VBA 宏。我还知道excel 的 Microsoft Graph REST API。有人可以指导我如何在不本地创建 excel 实例的情况下以编程方式执行办公脚本(如下面的示例)?


async function main(context: Excel.RequestContext) {
  // Set range A1 on selectedSheet
  let workbook = context.workbook;
  let worksheets = workbook.worksheets;
  let selectedSheet = worksheets.getActiveWorksheet();
  selectedSheet.getRange("A1").values = [
    ["Hello World"]
  ];
}

我找不到任何图形 api 来执行此操作。

谢谢。

【问题讨论】:

  • 是的,这可以通过事先获取用户凭据并使用 OAuth2 api 生成访问令牌来完成,但我也确信 excel graph api 将来会像其他资源一样支持应用程序权限做。问题是没有 API 来运行办公脚本。你是说在不久的将来会这样做@RaymondLu?

标签: excel microsoft-graph-api office-js office-scripts


【解决方案1】:

要通过 Graph API 运行 office 脚本,有两个要求: 1. Office JS 库:解析office 脚本以构建请求并解析响应结果。 2. 特定的Graph API:在服务端针对目标文件运行请求。

不幸的是,它们现在都不可用。

但是,还有另一项正在进行的工作是将 Office 脚本与 PowerAutomate 集成,这将使我们能够针对 PowerAutomate 上的工作簿运行脚本(无需本地 Excel 实例)。这里 (https://mybuild.microsoft.com/sessions/bc1bc3e6-9dc1-474e-a5d6-409af2fa0ad3?source=sessions) 是在最近的 Microsoft Build 中介绍 Office 脚本(以及它与 PowerAutomate 的集成)的视频。此功能将很快提供公共预览版。

【讨论】:

  • 正在进行将 Office 脚本与 PowerAutomate 集成的工作,这将使我们能够针对 PowerAutomate 上的工作簿运行脚本(无需本地 Excel 实例)。这里 (mybuild.microsoft.com/sessions/…) 是在最近的 Microsoft Build 中介绍 Office 脚本(以及它与 PowerAutomate 的集成)的视频。此功能将很快提供公共预览版。
  • 太棒了@Joe Zhao。如果您可以将注释从评论转换为帖子,我可以接受它作为答案。
  • 我将 cmets 合并到我之前的答案中。
【解决方案2】:

Microsoft 已宣布 Office Scripts 与 Microsoft Power Automate(预览版)集成,您可以在其中使用基于计划的触发器或基于事件的触发器运行 Office 脚本。

以下是一些可能有用的链接:

【讨论】:

    猜你喜欢
    • 2011-05-28
    • 2019-06-29
    • 1970-01-01
    • 1970-01-01
    • 2011-03-24
    • 1970-01-01
    • 1970-01-01
    • 2010-10-07
    • 1970-01-01
    相关资源
    最近更新 更多