У меня есть простой фрагмент кода, который загружает заголовки, а затем изменяет в них какой-то текст. Недавно сообщалось о проблеме с удалением заголовков. Я отследил, как это происходит при загрузке заголовков для этих документов, и, похоже, у них в параметрах заголовка выбрано «Ссылка на предыдущий». Я не уверен, почему это привело к его удалению, поскольку код до этого момента не меняет. Даже этот простой фрагмент вызывает ту же проблему.
Word.run(function (context) {
var sections = context.document.sections;
context.load(sections);
return context.sync().then(function() {
if (sections !== null) {
var headers = [];
for (var i = 0; i < sections.items.length; i++) {
var header = sections.items[i].getHeader('primary');
context.load(header);
headers.push(header);
}
context.sync().then(function() {
// when you get here all headers are deleted.
});
}
}).then(context.sync);
});
После некоторого тестирования, что действительно происходит, так это то, что параметр LinkToPrevious
удаляется. Когда это происходит, содержимое исходного заголовка удаляется из этого заголовка, что не оставляет ничего.
Я мог определить это, чередуя настройку от раздела к разделу (вкл. / Выкл.).
LinkToPrevious
не поддерживается в API-интерфейсе Office JS, который я нашел, что может объяснить, почему этот параметр не соблюдается. Считаю это ошибкой.
Единственная возможность обойти это, что мне приходит в голову, - это работать над Word Open XML для заголовков.