Я пишу надстройку Word с использованием office- js, которая генерирует индекс. Он использует следующий код для создания разрыва раздела в конце документа, а затем записывает туда индекс:
function WriteIndex() {
Word.run(function (context) {
//
var html = GenerateIndex(); // generate the index as an html string
//
if (html.length > 0) {
var body = context.document.body;
body.insertBreak(Word.BreakType.sectionNext, Word.InsertLocation.end);
body.select("End"); // put it at the end
return context.sync().then(function () {
body = context.document.body;
body.select("End"); // put it at the end
body.insertHtml(html, Word.InsertLocation.end);
return context.sync();
});
}).catch(handleError);
}
Пока все хорошо - все работает так, как я хочу. Но теперь я хочу иметь возможность перезапустить функцию и удалить индекс, который был там, прежде чем перегенерировать и переписать его.
Я думаю, что я могу получить содержимое индекса в диапазон и удалить его. Но я не могу найти где-нибудь в API, где вы можете удалить разрыв раздела. По этой ссылке я нашел некоторый код, который перебирает коллекцию разделов документа и собирает содержимое всех разделов, а затем заменяет все содержимое документа только требуемыми разделами. Но такой подход кажется мне рискованным и запутанным. Другой подход может состоять в том, чтобы по существу перейти к концу документа и выполнить операцию возврата, поскольку именно так вы удаляете разрыв раздела с помощью пользовательского интерфейса Word, но я не могу найти ничего в документации API, чтобы сделать это.
Действительно ли это так, что API позволяет создавать разрывы разделов, но не позволяет их удалять? Кто-нибудь делал что-то подобное раньше? Есть ли лучший подход?
Большое спасибо.