如何通过Office.js获取Word书签的起止位置及官方参考页?
问题解答
能否获取书签的起始和结束位置?
可以。你通过context.document.getBookmarkRangeOrNullObject("BOOKMARK")获取到的bookmark是Word.Range对象,该对象的start和end属性分别对应该书签的起始与结束位置。
这两个属性返回的是Word.RangeLocation类型,包含以下关键信息来定位具体位置:
startOffset:相对于父级元素(如段落、内容控件)的字符偏移量parentParagraph:位置所属的段落对象parentContentControl(若存在):位置所属的内容控件对象
示例代码如下,展示如何加载并获取这些位置信息:
// 获取书签对应的Range var bookmark = context.document.getBookmarkRangeOrNullObject("BOOKMARK"); // 加载start和end属性 bookmark.load("start, end"); // 同步执行请求 await context.sync(); // 输出起始位置的偏移量和所属段落 console.log("起始位置偏移量: " + bookmark.start.startOffset); console.log("起始位置所属段落: " + bookmark.start.parentParagraph.text); // 输出结束位置的偏移量和所属段落 console.log("结束位置偏移量: " + bookmark.end.startOffset); console.log("结束位置所属段落: " + bookmark.end.parentParagraph.text);
对应Word官方参考内容
- Document.getBookmarkRangeOrNullObject方法:属于Word.Document类,用于按指定名称检索书签对应的Range对象;若书签不存在,则返回null对象(而非抛出错误)。
- Range.start/Range.end属性:属于Word.Range类,返回RangeLocation对象,提供范围起始/结束位置的层级结构与偏移信息。
内容的提问来源于stack exchange,提问作者Davide Bono
相关产品推荐
相关产品推荐

