Почему идентификатор рабочего листа меняется после повторного открытия документа (API JavaScript для Excel)?

В моем надстройке панели вкладок Excel после добавления рабочего листа (вручную / программно) и выполнения кода ниже у меня есть объект рабочего листа с идентификатором "{040E0F18-0F61-4CD9-886D-95112C925793}", затем я сохраняю книгу, закрываю и снова открываю, запустите приведенный ниже код, и он показывает мне, что теперь рабочий лист.id равен "{00000000-0001-0000-0000-000000000000}"! В office.js справочник о рабочем листе я бы:

Значение идентификатора остается неизменным даже при переименовании или перемещении рабочего листа. Только для чтения.

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

person Alex K    schedule 15.06.2016    source источник
comment
Этого не должно происходить ... Какую версию / платформу Office вы используете?   -  person Michael Zlatkovsky - Microsoft    schedule 15.06.2016
comment
Excel из Office 2016, Office.js api версии 1.1   -  person Alex K    schedule 15.06.2016


Ответы (1)


документация была (очень), недавно обновленный, чтобы прояснить это. Идентификатор не должен изменяться в рамках одного сеанса (т.е. пока документ открыт). Однако они меняются между сессиями (т.е. когда документ открывается и закрывается).

Из последней документации:

Возвращает значение, однозначно определяющее лист в данной книге. Значение идентификатора остается неизменным даже при переименовании или перемещении рабочего листа. Значения меняются с каждым сеансом открытия файла. Только для чтения.

person Marc LaFleur    schedule 15.06.2016
comment
Это не имеет смысла, что, если мне нужно сохранить некоторые метаданные, относящиеся к листу, в метаданных документа. Как определить лист? - person taralex; 16.06.2016
comment
На данный момент нет хорошего ответа для данных для конкретных листов. Объект настроек ограничен рабочей книгой. В настоящее время изучается неизменяемый идентификатор, но я не знаю о расчетном времени прибытия. - person Marc LaFleur; 16.06.2016