检查文本选择是否在页眉/页脚中

时间:2019-01-03 08:49:46

标签: ms-word office-js

我们创建的Word Addin允许在文本选择中添加自定义注释。 Word不允许在页眉/页脚中添加注释。因此,当选择页眉/页脚中的文本时,应该警告用户。

  • 所选内容的正文和标头中的OOXML结构相同。
  • 当选择页脚/页眉文本时,Word UI本身会禁用评论注释部分。
  • 将文本选择对象转储到控制台时,没有任何对象字段指向位于页眉/页脚中的选择。

如何以编程方式发现在页眉/页脚中选择了文本?

问题:https://github.com/OfficeDev/office-js/issues/341

1 个答案:

答案 0 :(得分:1)

您可以通过查看选择范围的parentBody属性来实现。 type上的parentBody属性将显示所选内容是在“页眉”还是其他位置(请参见documentation)。

示例

function determineSelectionInHeader() {
    Word.run(function (context) {
        const HEADER_TYPE = "Header";

        // Retrieve and load 'type' of selection.
        var selection = context.document.getSelection();
        var parentBody = selection.parentBody;
        parentBody.load("type");

        context
            .sync()
            .then(function () {
                if (parentBody.type === HEADER_TYPE) {
                    console.log("This is the header");
                }
            });
    });
}