Skip to content

书签(Bookmarks)

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

属性列表

方法说明
获取书签个数
获取和设置书签排序

方法列表

方法说明
添加书签
获取书签内容
获取所有书签
替换书签内容
判断书签是否存在
书签集合的单个书签
获取书签名称
删除书签
获取书签内容的类型
书签内容是否是表格的一列
复制书签
选中书签内容
书签内容是否为空
书签内容起始位置
书签内容结束位置
获取书签内容区域

Count

JSSDK: v1.1.19+ 支持

仅支持PC端

获取书签个数

语法

表达式.ActiveDocument.Bookmarks.Count

表达式:文档类型应用对象。

返回值

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

示例

js
//@file=base.docx
async function example() {
  await instance.ready();

  const app = instance.Application;

  // 添加书签
  await app.ActiveDocument.Bookmarks.Add({
    Name: 'WebOffice',
    Range: {
      Start: 1,
      End: 10,
    },
  });

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

DefaultSorting

JSSDK: v1.1.19+ 支持

仅支持PC端

获取和设置书签排序

语法

表达式.ActiveDocument.Bookmarks.DefaultSorting = WdBookmarkSortBy

表达式:文档类型应用对象。

设置书签排序时,WdBookmarkSortBy 详细可参考: Enum.WdBookmarkSortBy

示例

js
//@file=base.docx
async function example() {
  await instance.ready();

  const app = instance.Application;


  // 书签排序
  const sort = await app.ActiveDocument.Bookmarks.DefaultSorting;

  // 设置书签排序
  app.ActiveDocument.Bookmarks.DefaultSorting = 0;
}

Add()

仅支持 PC 端

添加书签

注意

该方法暂不支持移动端

语法

表达式.ActiveDocument.Bookmarks.Add({ Name, Range })

表达式:文档类型应用对象。

参数

属性类型默认值必填说明
Name
string
书签名。书签名不能多于一个单词。
+
Range
range {}
书签标记的文本区域。可将书签设置到一个折叠的区域(插入点)。

注意

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

示例

js
//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 书签对象
  const bookmarks = await app.ActiveDocument.Bookmarks

  // 添加书签
  await bookmarks.Add({
    Name: 'WebOffice',
    Range: {
      Start: 1,
      End: 10
    }
  })
}

GetBookmarkText(Name)

仅支持 PC 端

获取书签内容

语法

表达式.ActiveDocument.Bookmarks.GetBookmarkText(Name)

表达式:文档类型应用对象。

参数

属性数据类型默认值必填说明
Name
String
书签名

返回值

返回对应的书签内容

示例

js
//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 书签对象
  const bookmarks = await app.ActiveDocument.Bookmarks

  // 添加书签
  await bookmarks.Add({
    Name: 'WebOffice',
    Range: {
      Start: 1,
      End: 10
    }
  })

  // 获取书签内容
  const bookmarkText = await bookmarks.GetBookmarkText('WebOffice')
  console.log(bookmarkText)
}

Json()

仅支持 PC 端

获取所有书签

语法

表达式.ActiveDocument.Bookmarks.Json()

表达式:文档类型应用对象。

返回值

属性数据类型说明
name
String
书签名
begin
Number
书签开始位置
end
Number
书签结束位置

示例

js
//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 添加书签
  await app.ActiveDocument.Bookmarks.Add({
    Name: 'WebOffice',
    Range: {
      Start: 1,
      End: 10
    }
  })

  // 获取所有书签
  const bookmarks = await app.ActiveDocument.Bookmarks.Json()
  console.log(bookmarks)
}

ReplaceBookmark(Data)

仅支持 PC 端

替换书签内容

语法

表达式.ActiveDocument.Bookmarks.ReplaceBookmark(Data)

表达式:文档类型应用对象。

参数

属性类型默认值必填说明
+
Data
Data []
替换内容结构体

返回值

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

示例

js
//@file=base.docx
// 获取所有书签
async function example() {
  await instance.ready()

  const app = instance.Application

  // 书签对象
  const bookmarks = await app.ActiveDocument.Bookmarks

  // 添加书签
  await bookmarks.Add({
    Name: 'WebOffice',
    Range: {
      Start: 1,
      End: 10
    }
  })

  // 替换书签内容
  const isReplaceSuccess = await bookmarks.ReplaceBookmark([
    {
      name: 'WebOffice',
      type: 'text',
      value: '替换书签内容'
    }
  ])
  console.log(isReplaceSuccess) // true
}

Exists(Name)

JSSDK: v1.1.19+ 支持

仅支持PC端

判断书签是否存在

语法

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

表达式:文档类型应用对象。

参数

属性数据类型默认值必填说明
Name
String
书签名

返回值

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

示例

js
//@file=base.docx
async function example() {
  await instance.ready();

  const app = instance.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
}

Item(Name)

仅支持 PC 端

书签集合的单个书签

语法

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

表达式:文档类型应用对象

参数

属性数据类型默认值必填说明
Name
String
书签名

示例

js
//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 书签对象
  const bookmarks = await app.ActiveDocument.Bookmarks

  // 添加书签
  await bookmarks.Add({
    Name: 'WebOffice',
    Range: {
      Start: 1,
      End: 10
    }
  })

  // 获取单个书签对象
  await app.ActiveDocument.Bookmarks.Item('WebOffice')
}

Item(Name).Name

仅支持 PC 端

获取书签名称

语法

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

表达式:文档类型应用对象。

示例

js
//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 添加书签
  await app.ActiveDocument.Bookmarks.Add({
    Name: 'WebOffice',
    Range: {
      Start: 1,
      End: 10
    }
  })

  // 获取书签名称
  await app.ActiveDocument.Bookmarks.Item('WebOffice').Name
}

Item(Name).Delete()

仅支持 PC 端

删除书签

语法

表达式.ActiveDocument.Bookmarks.Item(Name).Delete()

表达式:文档类型应用对象。

示例

js
//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 添加书签
  await app.ActiveDocument.Bookmarks.Add({
    Name: 'WebOffice',
    Range: {
      Start: 1,
      End: 10
    }
  })

  // 删除书签
  await app.ActiveDocument.Bookmarks.Item('WebOffice').Delete()
}

Item(Name).StoryType

JSSDK: v1.1.19+ 支持

仅支持PC端

获取书签内容的类型

语法

表达式.ActiveDocument.Bookmarks.Item(Name).StoryType

表达式:文档类型应用对象。

书签内容的类型,WdStoryType 详细可参考: Enum.WdStoryType

示例

js
//@file=base.docx
async function example() {
  await instance.ready();

  const app = instance.Application;

  // 添加书签
  await app.ActiveDocument.Bookmarks.Add({
    Name: 'WebOffice',
    Range: {
      Start: 1,
      End: 10,
    },
  });

  // 获取书签内容的类型
  await app.ActiveDocument.Bookmarks.Item('WebOffice').StoryType;
}

Item(Name).Column

JSSDK: v1.1.19+ 支持

仅支持PC端

书签内容是否是表格的一列

语法

表达式.ActiveDocument.Bookmarks.Item(Name).Column

表达式:文档类型应用对象。

示例

js
//@file=base.docx
async function example() {
  await instance.ready();

  const app = instance.Application;

  // 添加书签
  await app.ActiveDocument.Bookmarks.Add({
    Name: 'WebOffice',
    Range: {
      Start: 1,
      End: 10,
    },
  });

  // 判断书签内容是否是表格的一列
  const column = await app.ActiveDocument.Bookmarks.Item('WebOffice').Column;
  console.log(column); // false
}

Item(Name1).Copy(Name2)

JSSDK: v1.1.19+ 支持

仅支持PC端

复制书签

语法

表达式.ActiveDocument.Bookmarks.Item(Name1).Copy(Name2)

表达式:文档类型应用对象。

参数

属性数据类型默认值必填说明
Name
String
书签名

示例

js
//@file=base.docx
async function example() {
  await instance.ready();

  const app = instance.Application;

  // 添加书签
  await app.ActiveDocument.Bookmarks.Add({
    Name: 'WebOffice',
    Range: {
      Start: 1,
      End: 10,
    },
  });

  // 复制书签
  await app.ActiveDocument.Bookmarks.Item('WebOffice').Copy('NewBookmark');
}

Item(Name).Select()

JSSDK: v1.1.19+ 支持

仅支持PC端

选中书签内容

语法

表达式.ActiveDocument.Bookmarks.Item(Name).Select()

表达式:文档类型应用对象。

示例

js
//@file=base.docx
async function example() {
  await instance.ready();

  const app = instance.Application;

  // 添加书签
  await app.ActiveDocument.Bookmarks.Add({
    Name: 'WebOffice',
    Range: {
      Start: 1,
      End: 10,
    },
  });

  // 选中书签内容
  await app.ActiveDocument.Bookmarks.Item('WebOffice').Select();
}

Item(Name).Empty

JSSDK: v1.1.19+ 支持

仅支持PC端

书签内容是否为空

语法

表达式.ActiveDocument.Bookmarks.Item(Name).Empty

表达式:文档类型应用对象。

示例

js
//@file=base.docx
async function example() {
  await instance.ready();

  const app = instance.Application;

  // 添加书签
  await app.ActiveDocument.Bookmarks.Add({
    Name: 'WebOffice',
    Range: {
      Start: 1,
      End: 10,
    },
  });

  // 判断书签内容是否为空
  const isEmpty = await app.ActiveDocument.Bookmarks.Item('WebOffice').Empty;
  console.log(isEmpty); // false
}

Item(Name).Start

JSSDK: v1.1.19+ 支持

仅支持PC端

书签内容起始位置

语法

表达式.ActiveDocument.Bookmarks.Item(Name).Start

表达式:文档类型应用对象。

示例

js
//@file=base.docx
async function example() {
  await instance.ready();

  const app = instance.Application;

  // 添加书签
  await app.ActiveDocument.Bookmarks.Add({
    Name: 'WebOffice',
    Range: {
      Start: 1,
      End: 10,
    },
  });

  // 书签内容起始位置
  const start = await app.ActiveDocument.Bookmarks.Item('WebOffice').Start;
  console.log(start); // 1
}

Item(Name).End

JSSDK: v1.1.19+ 支持

仅支持PC端

书签内容结束位置

语法

表达式.ActiveDocument.Bookmarks.Item(Name).End

表达式:文档类型应用对象。

示例

js
//@file=base.docx
async function example() {
  await instance.ready();

  const app = instance.Application;

  // 添加书签
  await app.ActiveDocument.Bookmarks.Add({
    Name: 'WebOffice',
    Range: {
      Start: 1,
      End: 10,
    },
  });

  // 书签内容结束位置
  const end = await app.ActiveDocument.Bookmarks.Item('WebOffice').End;
  console.log(end); // 10
}

Item(Name).Range

JSSDK: v1.1.19+ 支持

仅支持PC端

获取书签内容区域

语法

表达式.ActiveDocument.Bookmarks.Item(Name).Range

表达式:文档类型应用对象。

示例

js
//@file=base.docx
async function example() {
  await instance.ready();

  const app = instance.Application;

  // 添加书签
  await app.ActiveDocument.Bookmarks.Add({
    Name: 'WebOffice',
    Range: {
      Start: 1,
      End: 10,
    },
  });

  // 获取书签内容区域
  await app.ActiveDocument.Bookmarks.Item('WebOffice').Range;
}