OfficeJS在加载时删除标头

问题描述 投票:0回答:1

我有一段简单的代码加载标题然后更改其中的一些文本。最近报告了删除标题的问题。我已经在加载这些文档的标题时跟踪它,看起来它们在标题选项中选择了“链接到上一个”。我不确定为什么这会导致它被删除,因为到那一点的代码没有任何变化。即使这个简单的片段也会导致同样的问题。

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);
});
ms-word office-js
1个回答
0
投票

经过一些测试,真正发生的是LinkToPrevious设置被删除。当发生这种情况时,原始标题的内容将从该标题中删除,这不会留下任何内容。

我可以通过交换部分到部分(开/关)的设置来确定这一点。

我可以找到的Office JS API不支持LinkToPrevious,这可以解释为什么设置没有得到遵守。我认为这是一个错误。

解决这个问题的唯一可能性就是使用Word Open XML来处理标题。

© www.soinside.com 2019 - 2024. All rights reserved.