Office js Office.js:ItemNotFound:请求的资源不存在';不存在

Office js Office.js:ItemNotFound:请求的资源不存在';不存在,office-js,excel-2016,Office Js,Excel 2016,我正在创建一个在任务窗格中运行的Office加载项,该任务窗格通过单击命令功能区中的按钮启动。该应用程序本身就是一个简单的查找工具。您选择一个单元格(或单元格范围),它会点击另一个端点(我设置的端点)以查找并返回相关信息 在大多数电子表格上,一切都按预期进行,但在某些电子表格上,试图到达端点时似乎出现了中断,我得到了以下错误: ItemNotFound: The requested resource doesn't exist. 但是,我知道资源确实存在,并且它工作正常,因为我可以将数据复制到

我正在创建一个在任务窗格中运行的Office加载项,该任务窗格通过单击命令功能区中的按钮启动。该应用程序本身就是一个简单的查找工具。您选择一个单元格(或单元格范围),它会点击另一个端点(我设置的端点)以查找并返回相关信息

在大多数电子表格上,一切都按预期进行,但在某些电子表格上,试图到达端点时似乎出现了中断,我得到了以下错误:

ItemNotFound: The requested resource doesn't exist.
但是,我知道资源确实存在,并且它工作正常,因为我可以将数据复制到同一文件中的另一个工作表中,并且加载项工作正常;然而,我似乎无法让它在这个特定的主表上工作


有什么想法吗?

这可能是外接程序的错误,而不是外部资源的错误。Excel将抛出
ItemNotFound:请求的资源不存在。
当您尝试使用range.getUsedRange()时,范围中没有任何内容


如果您使用OfficeHelpers.Utilities.log()(已找到)记录错误,它将为您提供所需的上下文,以了解它引发该错误的原因。

我错了,我的端点与此问题无关。

结果发现,由于工作表名称中有空格,并且可能使用不正确,所以我遇到了问题

这里有一个例子如果工作表名称中没有空格,则此类型的代码对我很有效

      Excel.run(async (ctx) => {
          var sheetName = 'Sheet1';
          var rangeAddress = 'A1:A4';
          var address = sheetName +"!"+ rangeAddress;
          var worksheet = ctx.workbook.worksheets.getItem(sheetName);
          var range = worksheet.getRange(address);
          await ctx.sync();
          ...    

但是,如果我尝试在有空格的工作表名称上使用相同的代码,所有内容都会爆炸:

    var sheetName = 'Sheet Two';

对我有用的内容(只需将“范围”部分传递给getRange()函数,而不是我的整个地址):


你能提供触发错误条件的代码吗?太棒了,我不知道OfficeHelpers.Utilities.log()。我会调查的,谢谢。
      Excel.run(async (ctx) => {
          var sheetName = 'Sheet1';
          var rangeAddress = 'A1:A4';
          var worksheet = ctx.workbook.worksheets.getItem(sheetName);
          var range = worksheet.getRange(rangeAddress);
          await ctx.sync();
          ...