You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否通过Excel Office Script调用Word并对比同一份Word文档的两个版本?

能否通过Excel Office Script调用Word并对比文档版本?

可以实现,但要注意Office Script的运行环境限制,具体方案如下:

  • 核心限制:Office Script是浏览器端运行的脚本,无法直接调用桌面版Word应用程序,它只能操作Excel Online以及通过API访问云端资源。
  • 可行方案:借助Microsoft Graph API实现
    因为Graph API支持对OneDrive/SharePoint中存储的Word文档进行版本管理和对比操作,Office Script可以通过获取访问令牌调用这些API:
    1. 准备工作:确保需要对比的两个Word文档版本存储在OneDrive或SharePoint中(可以是同一文档的历史版本,也可以是两个独立的文档文件)。
    2. 权限配置:确保当前账号拥有文档的读写权限,以及Graph API的Files.ReadWrite类权限。
    3. 脚本实现逻辑:
      • 使用OfficeRuntime.auth.getAccessToken()获取调用Graph API的令牌。
      • 调用Graph的文档对比接口,比如对比两个独立文档的端点:POST /me/drive/items/{sourceItemId}/compare?targetItemId={targetItemId},或者对比文档历史版本的端点POST /me/drive/items/{itemId}/versions/{versionId}/compare。
      • 处理API返回的对比结果(通常会生成一个包含差异的新文档)。

以下是一个简化的代码示例,用于对比OneDrive中两个独立的Word文档:

async function main(workbook: ExcelScript.Workbook) {
  // 替换为你的源文档ID和目标文档ID
  const sourceItemId = "xxxxxx";
  const targetItemId = "yyyyyy";
  
  // 获取Graph API访问令牌
  const accessToken = await OfficeRuntime.auth.getAccessToken({
    allowSignInPrompt: true,
    forMSGraphAccess: true
  });

  // 调用Graph对比接口
  const response = await fetch(
    `https://graph.microsoft.com/v1.0/me/drive/items/${sourceItemId}/compare?targetItemId=${targetItemId}`,
    {
      method: "POST",
      headers: {
        "Authorization": `Bearer ${accessToken}`,
        "Content-Type": "application/json"
      },
      body: JSON.stringify({
        "compareOptions": {
          "ignoreFormatting": false,
          "ignoreCase": false
        }
      })
    }
  );

  if (response.ok) {
    const result = await response.json();
    // 这里可以处理对比结果,比如获取生成的差异文档ID
    console.log("对比完成,差异文档ID:", result.id);
  } else {
    console.error("对比失败:", await response.text());
  }
}
  • 额外说明:如果需要对比同一文档的历史版本,只需调整Graph API的端点为版本对比接口,传入文档ID和历史版本ID即可。

内容的提问来源于stack exchange,提问作者Diogo Amorim Dev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 17:33:26