2017-06-19 16 views
1

コマンドリボンからボタンをクリックして起動するタスクペインで実行されるOfficeアドインを作成しています。アプリ自体はシンプルな検索ツールです。あなたはセル(またはセルの範囲)を選択し、関連する情報を検索して返すために別のエンドポイント(セットアップしたもの)をヒットします。ほとんどのスプレッドシートでOffice.js:ItemNotFound:要求されたリソースが存在しません

、すべてが期待どおりに動作しますが、しかし、いくつかのスプレッドシート上で、エンドポイントをヒットしようとして壊れているようだ、と私はこのエラーを取得するには:

ItemNotFound: The requested resource doesn't exist. 

しかし、私はリソースを知っています同じファイル内の別のシートにデータをコピーすることができ、アドインが正常に動作するため、正常に動作していることを確認してください()。しかし、私はそれをこの特定のメインシートで動作させるように見えることはできません。

アイデア?

+1

エラー状態を引き起こしているコードを教えてください。 –

答えて

1

これは、外部リソースではなくアドインでのエラーである可能性があります。 range.getUsedRange()を使用しようとすると、ExcelはItemNotFound: The requested resource doesn't exist.をスローし、範囲内に何もありません。

OfficeHelpers.Utilities.log()(hereが見つかりました)を使用してエラーをログに記録すると、エラーが発生した理由を確認する必要があります。

+1

驚くべきことに、私はOfficeHelpers.Utilities.log()について知りませんでした。 defはそれを見ますか、ありがとう。 –

1

私は誤解されましたが、私のエンドポイントはこの問題に関連していませんでした。

私はWorksheet -> getRange()で問題が発生しました。シート名にスペースが含まれている可能性があり、誤って使用した可能性があります。

例を示します。 コードのこのタイプは、私のシート名にスペースがなかった場合うまく働いた:

 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(); 
      ...  


しかし、私は、スペースを持っていたシート名に、同じコードを使用しようとした場合、すべてのもの爆破します:

(ジャストgetRange()関数ではなく、私の全アドレスに "範囲" の部分を渡す)私のために働いた何
var sheetName = 'Sheet Two'; 


 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(); 
      ... 
関連する問題