Skip to content

书签(Bookmarks)

Bookmark 对象的集合,这些对象代表指定选定内容、范围或文档中的书签

属性列表

属性说明
Count获取书签个数

方法列表

方法返回类型说明
Add()添加书签
Delete()删除书签
Exists()Boolean某书签是否存在
GetBookmarks()Bookmark 对象的集合全部书签
Item()Bookmark单个书签对象
Replace()Boolean替换书签内容

Count

获取书签个数

语法

表达式.ActiveDocument.Bookmarks.Count

返回值

返回 Number 代表文档内容控件的数量。

示例

js
async function example() {
  await jssdk.ready();

  const app = jssdk.Application;

  // 添加书签
  await app.ActiveDocument.Bookmarks.Add({
    name: "WebOffice",
    range: {
      start: 1,
      end: 10,
    },
  });

  // 获取书签数量
  const count = await app.ActiveDocument.Bookmarks.Count;
  console.log(count);
}

Add()

添加书签

语法

表达式.ActiveDocument.Bookmarks.Add({name, range})

参数

属性类型默认值必填说明
nameString书签名。书签名不能多于一个单词。
rangeRange{}当前选区书签标记的文本区域。为空则使用当前选区。
range.startNumber区域开始位置
range.endNumber区域结束位置

IMPORTANT

name 书签名不能重复,首字符不能使用数字和下划线,不能含有空格、. 等特殊符号

示例

js
async function example() {
  await jssdk.ready();

  const app = jssdk.Application;

  // 添加书签
  await app.ActiveDocument.Bookmarks.Add({
    name: "WebOffice",
    range: {
      start: 1,
      end: 10,
    },
  });
}

Delete()

删除书签

语法

表达式.ActiveDocument.Bookmarks.Delete(name)

参数

属性类型默认值必填说明
nameString书签名

示例

js
async function example() {
  await jssdk.ready();

  const app = jssdk.Application;

  // 删除书签
  await app.ActiveDocument.Bookmarks.Delete("WebOffice");
}

Exists()

判断书签是否存在

语法

表达式.ActiveDocument.Bookmarks.Exists(name)

参数

属性类型默认值必填说明
nameString书签名

返回值

返回 Boolean,为 true 表示书签存在,否则不存在。

示例

js
async function example() {
  await jssdk.ready();

  const app = jssdk.Application;

  // 添加书签
  await app.ActiveDocument.Bookmarks.Add({
    name: "WebOffice",
    range: {
      start: 1,
      end: 10,
    },
  });

  // 判断书签是否存在
  const isExist = await app.ActiveDocument.Bookmarks.Exists("WebOffice");
  console.log(isExist); // true
}

GetBookmarks()

全量书签集合

语法

表达式.ActiveDocument.Bookmarks.GetBookmarks()

返回值

返回 Bookmark 对象集合,单个书签属性见 Item()

示例

js
async function example() {
  await jssdk.ready();

  const app = jssdk.Application;

  // 添加书签
  await app.ActiveDocument.Bookmarks.Add({
    name: "WebOffice",
    range: {
      start: 1,
      end: 10,
    },
  });

  // 获取全量书签
  const bookmarks = await app.ActiveDocument.Bookmarks.GetBookmarks();

  console.log(bookmarks); 
}

Item()

书签集合的单个书签

语法

表达式.ActiveDocument.Bookmarks.Item(name)

参数

属性类型默认值必填说明
nameString书签名

返回值

返回 Bookmark 对象,拥有以下属性和方法

属性列表

属性类型说明
NameString书签名
TextString书签文本内容

方法列表

属性说明
Delete()删除书签
Select()选中书签

示例

js
async function example() {
  await jssdk.ready();

  const app = jssdk.Application;

  // 添加书签
  await app.ActiveDocument.Bookmarks.Add({
    name: "WebOffice",
    range: {
      start: 1,
      end: 10,
    },
  });

  // 判断书签是否存在
  const bookmark = await app.ActiveDocument.Bookmarks.Item("WebOffice");

  console.log(await bookmark.Name); // 书签名
  console.log(await bookmark.Text); // 书签文本内容
  await bookmark.Select(); // 选中书签
  await bookmark.Delete(); // 删除书签
}

Replace()

书签集合的单个书签

语法

表达式.ActiveDocument.Bookmarks.Replace({name, type, value, width, height})

参数

属性类型默认值必填说明
nameString书签名
typeString数据类型 textimage
valueString书签的新内容,类型为image时则为图像地址
widthNumber20图片宽度,单位为毫米
heightNumber20图片高度,单位为毫米

返回值

返回 Boolean,为 true 表示替换成功,否则失败。

示例

js
async function example() {
  await jssdk.ready();

  const app = jssdk.Application;

  // 替换文字内容
  await app.ActiveDocument.Bookmarks.Replace({
    name: "WebOffice",
    type: "text",
    value: "这里是新的内容",
  });

  // 替换图片内容
  await app.ActiveDocument.Bookmarks.Replace({
    name: "qrcode",
    type: "image",
    value:
      "https://www.baidu.com/img/PCtm_d9c8750bed0b3c7d089fa7d55720d6cf.png",
    width: 54,
    height: 26,
  });
}