You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 03:14:50