Skip to main content

Bookmarks

Bookmarks

JSSDK: 1.2.2、zOffice2022.3 FP2 支持

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

属性

count

书签的数量

语法

Application.ActiveDocument.Bookmarks.count

Application: 文档类型应用对象

返回值

count: Promise<number>

示例

async function example() {
const count = await Application.ActiveDocument.Bookmarks.count;
}

方法

add

在当前选中区域添加书签

语法

document.Bookmarks.add(name, range)

Application:文档类型应用对象

参数

属性数据类型必填说明
namestring书签名字【如果传入的书签名长度超过40,则截取长度为40的字符串作为书签名】
rangeWord.Range插入书签的区域(默认在当前选区位置插入)

返回值

Promise<Word.Bookmark>

示例

// 在当前选区位置插入名称为 bm 的书签
async function example1() {
const res = await Application.ActiveDocument.Bookmarks.add('bm');
}

// 在第一个段落区域插入名称为 bm 的书签
async function example1() {
const para = await Application.ActiveDocument.Paragraphs.item(1);
const range = await para.range;
const res = await Application.ActiveDocument.Bookmarks.add('bm', range);
}

item

根据参数获取单个书签

语法

Application.ActiveDocument.Bookmarks.item(key)

Application: 文档类型应用对象

参数

属性数据类型必填说明
keystring | number书签名称/书签序号(序号从1开始)

返回值

Promise<Word.Bookmark>

示例

async function example(key) {
const bookmark = await Application.ActiveDocument.Bookmarks.item(key);
}

setTextCandidates

批量为书签添加预设值(为书签添加预设值后,光标进入到该书签区域时,书签尾部会显示一个小按钮,点击小按钮,预设值会显示在下拉列表里,点击某个预设值,会用此预设置替换掉该书签的内容)

语法

Application.ActiveDocument.Bookmarks.setTextCandidates(candidates)

Application: 文档类型应用对象

参数

属性数据类型必填说明
candidatesWord.CandidatesWord.Candidates的定义是{ [key: string]: string[]; },key为书签名称,string[]为该书签对应的预设值数组

返回值

Promise<boolean>

示例

async function example() {
const success = await Application.ActiveDocument.Bookmarks.setTextCandidates({
'甲方': [
'A公司',
'B公司'
],
'乙方': [
'C公司',
'D公司'
]
});
}

identify

JSSDK: 1.7.01、zOffice V7.2 hotfix1 支持

识别文档中可设置为书签的区域,智能生成书签

语法

Application.ActiveDocument.Bookmarks.identify(identifyRules, nameRule, includeHeaderFooter)

Application: 文档类型应用对象

参数

属性数据类型必填说明
identifyRulesWord.MarksIdentifyRule智能书签识别规则
nameRuleWord.MarksGenerateNameRule智能书签命名规则
includeHeaderFooterboolean是否包含页眉页脚区域

返回值

Promise<boolean>

示例

// 将有文字内容的下划线区域识别为书签,以下划线上方内容命名书签
async function example1() {
const success = await Application.ActiveDocument.Bookmarks.identify(Word.MarksIdentifyRule.TEXT, Word.MarksGenerateNameRule.ABOVE, true);
}

// 将有文字内容的下划线区域识别为书签,以下划线前面的文字内容命名书签
async function example2() {
const success = await Application.ActiveDocument.Bookmarks.identify(Word.MarksIdentifyRule.TEXT, Word.MarksGenerateNameRule.BEFORE, true);
}
// 将内容为空的下划线区域识别为书签,以下划线前面的文字内容命名书签
async function example3() {
const success = await Application.ActiveDocument.Bookmarks.identify(Word.MarksIdentifyRule.EMPTY, Word.MarksGenerateNameRule.BEFORE, true);
}

toJson

获取文档里包含的所有书签

语法

Application.ActiveDocument.Bookmarks.toJson()

Application:文档类型应用对象

返回值

Promise<string[]>,书签名称的数组

示例

async function example() {
const bookmarks = await Application.ActiveDocument.Bookmarks.toJson();
}