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

Excel 2016中Office.js插件调用getFileAsync报7000权限拒绝错误

Excel 2016插件调用getFileAsync返回7000权限拒绝问题解决

核心原因

Office.context.document.getFileAsync的文件类型支持并非所有Office应用和版本通用:

  • Word 2016支持Compressed、Pdf、TextFile等文件类型的获取
  • Excel 2016仅支持获取Office Open XML格式的工作簿(Office.FileType.OfficeOpenXml),不支持你代码中使用的Compressed类型,这既是特性检测返回false的原因,也是触发7000权限拒绝错误的本质(API本身不被支持,系统以权限错误形式抛出)。

解决步骤

  1. 替换文件类型参数
    将Office.context.document.getFileAsync的第一个参数改为Office.FileType.OfficeOpenXml,这是Excel 2016唯一支持的文件类型。

  2. 修改适配后的代码示例

    function getDocumentAsCompressed() {
      // Excel 2016仅支持OfficeOpenXml类型,检测该特性即可
      console.log("OfficeOpenXml status: " + Office.context.requirements.isSetSupported("OfficeOpenXml")); // 应为true
      Office.context.document.getFileAsync(Office.FileType.OfficeOpenXml, { sliceSize: 65536 /*64 KB*/ }, 
          function (result) {
              if (result.status == "succeeded") {
                  const myFile = result.value;
                  const sliceCount = myFile.sliceCount;
                  const docdataSlices = [];
                  let slicesReceived = 0, gotAllSlices = true;
                  console.log("File size:" + myFile.size + " #Slices: " + sliceCount)
              }
              else {
                console.log("err: " + result.error.message + result.error.code)
              }
      });
    }
    
  3. 确认manifest权限配置
    检查插件的manifest.xml文件,确保<Permissions>节点设置为至少ReadDocument权限:

    <Permissions>ReadDocument</Permissions>
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 09:22:09