Word Api office.js - 书签位置

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

我正在使用 Word 的客户端 api、Office.js 使用该功能通过名称读取某个书签后

var bookmark = context.document.getBookmarkRangeOrNullObject("BOOKMARK");

是否可以获取书签在文档中的起始和结束位置的返回值?还有 Word 参考页

提前致谢

api office-js word-addins
1个回答
0
投票

是的,使用 Office.js API 绝对可以获取 Word 文档中书签的开始和结束位置。当您使用 getBookmarkRangeOrNullObject 时,它会返回一个 Range 对象,该对象具有表示文档中书签位置的 start 和 end 属性。

这是检索这些位置的示例代码:

Word.run(function(context) {
    var bookmark = context.document.getBookmarkRangeOrNullObject("BOOKMARK");
    context.load(bookmark, 'start, end');
    
    return context.sync().then(function() {
        if (!bookmark.isNullObject) {
            console.log("Start position: " + bookmark.start);
            console.log("End position: " + bookmark.end);
        } else {
            console.log("The specified bookmark does not exist.");
        }
    });
}).catch(function(error) {
    console.log("Error: " + error);
});

如果想要获取书签的参考页,可以使用Range对象的getLocation()方法。具体方法如下:

Word.run(function(context) {
    var bookmark = context.document.getBookmarkRangeOrNullObject("BOOKMARK");
    context.load(bookmark, 'getRange().getLocation()');
    
    return context.sync().then(function() {
        if (!bookmark.isNullObject) {
            var location = bookmark.getRange().getLocation();
            context.load(location, 'page');
            return context.sync().then(function() {
                console.log("The bookmark is on page: " + location.page);
            });
        } else {
            console.log("The specified bookmark does not exist.");
        }
    });
}).catch(function(error) {
    console.log("Error: " + error);
});

希望这有帮助!

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