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

如何从网站启动Word并向Word Add-in传参,且在加载项内获取参数?

解决Word加载项传参与获取的方案

1. 启动Word并加载任务窗格加载项(带参数)

核心思路是利用Office URI Scheme构造带参数的启动链接,从你的网站触发该链接即可启动Word并自动加载带参数的加载项。

具体实现步骤:

  • 构造符合格式的URI:
    格式为 ms-word:ofe|u|{你的加载项任务窗格URL}?sessionId={你的会话ID}
    示例:ms-word:ofe|u|https://your-domain.com/addin-taskpane.html?sessionId=abc123xyz
  • 在网站页面中触发该URI:
    可以用HTML标签直接实现:
    <a href="ms-word:ofe|u|https://your-domain.com/addin-taskpane.html?sessionId=abc123xyz">打开Word并加载加载项</a>
    
    也可以用JavaScript动态生成并跳转:
    function launchWordAddin() {
      const sessionId = "abc123xyz"; // 网站收集到的会话ID
      const addinUrl = `https://your-domain.com/addin-taskpane.html?sessionId=${sessionId}`;
      const wordUri = `ms-word:ofe|u|${encodeURIComponent(addinUrl)}`;
      window.location.href = wordUri;
    }
    
  • 前置条件:确保你的加载项已完成Word侧加载或正式部署,且任务窗格URL可正常访问。

2. 在加载项内获取参数值

Word任务窗格本质是一个网页,直接解析当前页面URL的查询参数即可拿到SessionID:

代码示例:

// 工具函数:从URL查询参数中提取指定值
function getQueryParam(paramName) {
  const urlParams = new URLSearchParams(window.location.search);
  return urlParams.get(paramName);
}

// 加载项初始化时获取参数
Office.onReady(() => {
  const sessionId = getQueryParam("sessionId");
  if (sessionId) {
    // 用SessionID从数据库拉取对应参数
    console.log("获取到的SessionID:", sessionId);
    // 后续业务逻辑处理
  }
});

额外提示:

  • 若担心SessionID泄露,可对其加密后传递,加载项拿到后再解密。
  • 确保加载项任务窗格使用HTTPS协议,避免浏览器安全限制。

内容的提问来源于stack exchange,提问作者Mark Jeweler

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 19:27:22