本文介绍文字文档如何获取书签对象、添加书签和替换书签内容等。
获取书签对象
语法
表达式.ActiveDocument.Bookmarks
表达式:文档类型应用对象
示例
async function example() { await instance.ready(); const app = instance.Application; //书签对象 const bookmarks = await app.ActiveDocument.Bookmarks; }
添加书签
语法
表达式.ActiveDocument.Bookmarks.Add({ Name, Range })
表达式:文档类型应用对象
参数
属性
数据类型
是否必填
描述
Name
String
是
书签名。命名要求如下:
不能多于一个单词。
不能含有空格、数字以及半角句号(.)等特殊符号。
Range
Object
是
书签标记的文本区域。可将书签设置到一个折叠的区域(插入点)。
Range说明
属性
数据类型
是否必填
描述
Start
Number
是
设置书签的起点。
End
Number
是
设置书签的终点。
示例
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, }, }); }
获取书签内容
语法
表达式.ActiveDocument.Bookmarks.GetBookmarkText(Name)
表达式:文档类型应用对象
参数
属性
数据类型
是否必填
描述
Name
String
是
书签名。
返回值
返回对应的书签内容。
示例
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); }
替换书签内容
语法
表达式.ActiveDocument.Bookmarks.ReplaceBookmark(Data)
表达式:文档类型应用对象
参数
属性
数据类型
是否必填
描述
Data
Array.<Object>
是
替换内容结构体。
Data说明
属性
数据类型
是否必填
描述
name
String
是
替换书签的名称。
type
String
是
替换书签的类型。书签类型为TEXT。
value
String
是
替换书签的新内容。
返回值
返回
Boolean
,为true
表示替换成功,否则失败。示例
//获取所有书签 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 }
获取所有书签
语法
表达式.ActiveDocument.Bookmarks.Json()
表达式:文档类型应用对象
返回值
属性
数据类型
描述
name
String
书签名。
begin
Number
书签开始位置。
end
Number
书签结束位置。
示例
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); }
判断书签是否存在
语法
表达式.ActiveDocument.Bookmarks.Exists(Name)
表达式:文档类型应用对象。
参数
属性
数据类型
是否必填
描述
Name
String
是
书签名。
返回值
返回
Boolean
,为true
表示书签存在,否则不存在。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 }
获取书签数量
语法
表达式.ActiveDocument.Bookmarks.Count
表达式:文档类型应用对象。
返回值
返回
Number
代表文档书签的数量。示例
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); }
获取和设置书签排序
语法
表达式.ActiveDocument.Bookmarks.DefaultSorting = WdBookmarkSortBy
表达式:文档类型应用对象。
设置书签排序时,
WdBookmarkSortBy
详细可参考:Enum.WdBookmarkSortBy示例
async function example() { await instance.ready(); const app = instance.Application; // 书签排序 const sort = await app.ActiveDocument.Bookmarks.DefaultSorting; // 设置书签排序 app.ActiveDocument.Bookmarks.DefaultSorting = 0; }
单个书签
获取单个书签对象
语法
表达式.ActiveDocument.Bookmarks.Item(Name)
表达式:文档类型应用对象
参数
属性
数据类型
是否必填
描述
Name
String
是
书签名。
示例
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'); }
删除书签
语法
表达式.ActiveDocument.Bookmarks.Item(Name).Delete()
表达式:文档类型应用对象
示例
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(); }
获取书签名称
语法
表达式.ActiveDocument.Bookmarks.Item(Name).Name
表达式:文档类型应用对象
示例
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; }
复制书签
语法
表达式.ActiveDocument.Bookmarks.Item(Name1).Copy(Name2)
表达式:文档类型应用对象。
参数
属性
数据类型
默认值
必填
说明
Name
String
是
书签名
示例
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'); }
选中书签内容
语法
表达式.ActiveDocument.Bookmarks.Item(Name).Select()
表达式:文档类型应用对象。
示例
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(); }
书签内容是否为空
语法
表达式.ActiveDocument.Bookmarks.Item(Name).Empty
表达式:文档类型应用对象。
示例
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 }
书签内容起始位置
语法
表达式.ActiveDocument.Bookmarks.Item(Name).Start
表达式:文档类型应用对象。
示例
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 }
书签内容结束位置
语法
表达式.ActiveDocument.Bookmarks.Item(Name).End
表达式:文档类型应用对象。
示例
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 }
获取书签内容区域
语法
表达式.ActiveDocument.Bookmarks.Item(Name).Range
表达式:文档类型应用对象。
示例
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; }
获取书签内容的类型
语法
表达式.ActiveDocument.Bookmarks.Item(Name).StoryType
表达式:文档类型应用对象。
书签内容的类型,
WdStoryType
详细可参考:Enum.WdStoryType示例
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; }
书签内容是否是表格的一列
语法
表达式.ActiveDocument.Bookmarks.Item(Name).Column
表达式:文档类型应用对象。
示例
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 }