我有一段简单的代码加载标题然后更改其中的一些文本。最近报告了删除标题的问题。我已经在加载这些文档的标题时跟踪它,看起来它们在标题选项中选择了“链接到上一个”。我不确定为什么这会导致它被删除,因为到那一点的代码没有任何变化。即使这个简单的片段也会导致同样的问题。
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
设置被删除。当发生这种情况时,原始标题的内容将从该标题中删除,这不会留下任何内容。
我可以通过交换部分到部分(开/关)的设置来确定这一点。
我可以找到的Office JS API不支持LinkToPrevious
,这可以解释为什么设置没有得到遵守。我认为这是一个错误。
解决这个问题的唯一可能性就是使用Word Open XML来处理标题。