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

Word加载项调用createDocument时触发AccessDenied权限错误求助

解决Word插件createDocument方法AccessDenied错误

可能的原因及排查步骤:

1. 确认清单的要求集配置

createDocument方法需要Word API要求集1.2及以上,确保插件清单中指定了正确的要求集:

<Requirements>
  <Sets DefaultMinVersion="1.2">
    <Set Name="WordApi" MinVersion="1.2"/>
  </Sets>
</Requirements>

要求集版本过低会导致API调用权限受限。

2. 检查Word信任中心设置

桌面版Word侧加载未签名插件时,可能触发权限限制:

  • 打开Word选项 → 信任中心 → 信任中心设置 → 受信任的加载项目录,将侧加载插件所在目录添加为受信任目录;
  • 确认“禁用所有应用程序加载项(可能会影响功能)”未被勾选;
  • 检查“宏设置”,避免设置为最高限制级别(如“禁用所有宏,不通知”)。

3. 验证清单权限配置的完整性

确保权限配置正确放置在VersionOverrides节点下(适配Office 2016及以上版本):

<VersionOverrides xmlns="http://schemas.microsoft.com/office/taskpaneappversionoverrides" xsi:type="VersionOverridesV1_0">
  <Hosts>
    <Host xsi:type="Document">
      <DesktopFormFactor>
        <Permissions>ReadWriteDocument</Permissions>
        <!-- 其他配置内容 -->
      </DesktopFormFactor>
    </Host>
  </Hosts>
</VersionOverrides>

权限配置位置错误会导致实际权限不生效。

4. 调整代码逻辑

原代码中myNewDoc.properties.load()在文档未打开时调用,易引发权限冲突,调整为分步执行:

function WordLoadDocument(msg) {
  Word.run(context => {
    var myNewDoc = context.application.createDocument();
    myNewDoc.open();
    return context.sync()
      .then(() => {
        myNewDoc.properties.load();
        return context.sync();
      })
      .then(() => {
        // 此处添加自定义属性操作
        // myNewDoc.properties.customProperties.add("fileId", file.id);
        return context.sync();
      })
  }).catch(error => {
    if (error instanceof OfficeExtension.Error) {
      console.log("Error code and message: " + JSON.stringify(error.debugInfo));
    }
    console.log(error);
  });
}

分步调用context.sync()可避免异步操作导致的权限异常。

5. 检查账户权限限制

若Word登录企业账户,可能存在组织级策略限制插件创建新文档的功能,可切换个人账户测试,或联系IT管理员确认Office权限策略。


内容的提问来源于stack exchange,提问作者Richard Housham

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 18:40:38