2016-06-15 6 views
2

ワークシート(手動/プログラム)を追加して下のコードを実行した後、私のExcelタブペインのアドインに「{040E0F18-0F61-4CD9-886D-95112C925793}」というIDのワークシートオブジェクトがあり、ブックを保存して閉じると開く再度、以下のコードを実行すると、worksheet.idが "{00000000-0001-0000-0000-000000000000}"であることがわかります!ワークシートIDに関するoffice.js referenceで : ワークシートの名前を変更または移動された場合でも文書(Excel javascript API)を再度開いた後にワークシートIDが変更されるのはなぜですか?

識別子の値は同じままです。読み取り専用。

Excel.run(function (ctx) { 
    var sheet = ctx.workbook.worksheets.getActiveWorksheet().load('name'); 
      return ctx.sync().then(function() { 
       console.log(sheet); 
      }); 
    }); 
+0

これは起こってはいけません。どのOfficeバージョン/プラットフォームを使用していますか? –

+0

Excel from Office 2016、Office.js api version 1.1 –

答えて

1

documentationは(very)最近、これを明確にするために更新されました。 IDは同じセッション内で変更しないでください(ドキュメントが開いている間)。ただし、セッション間で変更されます(つまり、ドキュメントが開いたり閉じられたりするとき)。最新のドキュメントから

は一意に与えられた ワークブックでワークシートを識別する値を返します。 ワークシートの名前を変更または移動した場合でも、識別子の値は変わりません。ファイルは開かれている ファイルの各セッションごとに変更されます。読み取り専用。

+0

ドキュメントメタデータにシート固有のメタデータを保存する必要がある場合はどうでしょうか。シートを特定するにはどうすればいいですか? – taralex

+1

現時点では、シート固有のデータにはうまく対応していません。設定オブジェクトのスコープはワークブックに設定されています。不変の識別子が調査されていますが、私が認識しているETAはありません。 –

+0

ありがとうございました! – taralex

関連する問題