Skip to main content

修改书签名称

场景说明

在文档处理中,有时需要修改已存在的书签名称,例如规范化命名、适应新的业务规则等。由于 JSSDK 不提供直接重命名的方法,需要通过"添加新书签 + 删除旧书签"的方式实现。

相关 API 文档

示例代码

const name = 'newName';

// 获取书签
const bookmark = await Application.ActiveDocument.Bookmarks.item(1);

// 获取区域
const range = await bookmark.range;

// 为当前区域添加新名称的书签
const res = await Application.ActiveDocument.Bookmarks.add(name, range);

// 删除旧书签
await bookmark.delete();

// ⚠️ 注意:操作新书签需要根据书签名重新获取
const newBookmark = await Application.ActiveDocument.Bookmarks.item(name);

注意事项

  • 重命名本质:书签重命名实际上是"先添加新书签,再删除旧书签"的组合操作
  • 操作顺序:必须先添加新书签,再删除旧书签,顺序不能颠倒
  • 引用失效:删除旧书签后,原来的 bookmark 对象引用将失效,需要用新名称重新获取