Word
Application
属性
supportedEvents
支持的事件
语法
Application.supportedEvents
返回值
string[]
示例
function example() {
const supportedEvents = Application.supportedEvents;
}
events
监听的事件
语法
Application.events
返回值
string[]
示例
function example() {
const events = Application.events;
}
docType
文档类型
语法
Application.docType
返回值
string
示例
function example() {
const evedocTypents = Application.docType;
}
方法
addListener
监听事件
setUIState
JSSDK: 1.9.3、zOffice V8.0 FP3 支持
设置 api 调用时的默认文档状态,对所有 api 有效
语法
Application.setUIState(cursorContext)
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| cursorContext | object | 是 | 文档光标状态 |
cursorContext 结构 | 属性 | 数据类型 | 必填 | 说明 | | focus | boolean | 否 | 是否聚焦到文档,默认true | | scroll | boolean | 否 | 是否滚动到目标位置,默认true |
返回值
Promise<boolean>
示例
async function example1() {
const success = await Application.setUIState({ cursorContext: { focus: false, scroll: true }});
const bookmark = await Application.Bookmarks.item('bm1');
await bookmark.focus(); // 不聚焦到文档,仅视图滚动到书签位置,并选中书签区域
}
async function example2() {
const success = await Application.setUIState({ cursorContext: { focus: false, scroll: false }});
const bookmark = await Application.Bookmarks.item('bm1');
await bookmark.setText('zOffice'); // 不聚焦到文档,不滚动到书签位置,仅设置书签区域内容
}
语法
removeListener
移除事件监听
ready
JSSDK: 1.2.3、zOffice2022.2 FP3 支持
调用高级 API 之前,等待文档加载完成,只需调用一次
语法
Application.ready()
返回值
Promise<boolean>
示例
async function example() {
await Application.ready();
}
updateParams4thirdparty
三方集成场景更新服务端的一些相关值
语法
Application.updateParams4thirdparty(params)
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| params | string | 是 | 多个值以分号相隔 |
返回值
Promise<boolean>
示例
async function example() {
const params = "3rd-party-token=xxx;id=demo-docx-123;x-webhook-header=xxx;";
const success = await Application.updateParams4thirdparty(params);
if(success){
console.log('设置成功')
}
}
Bookmark
书签对象
属性
name
JSSDK: 1.2.2、zOffice2022.3 FP2 支持
书签对象的名称
语法
bookmark.name
bookmark: 书签对象
返回值
name: Promise<string>
示例
async function example() {
const bookmark = await Application.ActiveDocument.Bookmarks.item(1);
const name = await bookmark.name;
}
range
JSSDK: 1.2.2、zOffice2022.3 FP2 支持
获取书签所在范围
语法
bookmark.range
bookmark: 书签对象
返回值
Promise<Word.Range>
示例
async function example() {
const bookmark = await Application.ActiveDocument.Bookmarks.item(1);
const range = await bookmark.range;
}
方法
delete
JSSDK: 1.2.2、zOffice2022.3 FP2 支持
删除书签
语法
bookmark.delete()
bookmark: 书签对象
返回值
Promise<boolean> 是否删除成功
示例
async function example(app, name) {
let success = false;
const bookmark = await Application.ActiveDocument.Bookmarks.item(name);
if (bookMark) success = await bookmark.delete();
}
focus
JSSDK: 1.0.3、zOffice2022.1 FP3 支持
定位书签
语法
bookmark.focus()
bookmark: 书签对象
返回值
Promise<boolean> 是否定位成功
示例
async function example(app, name) {
let success = false;
const bookmark = await Application.ActiveDocument.Bookmarks.item(name);
if (bookMark) success = await bookmark.focus();
}
getHtml
JSSDK: 1.2.0、zOffice2022.3 支持
获取书签位置的Html结构
语法
bookmark.getHtml()
bookmark: 书签对象
返回值
Promise<string> 书签位置的Html字符串
示例
async function example() {
const bookmark = await Application.ActiveDocument.Bookmarks.item(1);
const htmlString = await bookmark.getHtml();
}
getText
JSSDK: 1.2.0、zOffice2022.3 支持
获取书签位置的文本结构
语法
bookmark.getText()
bookmark: 书签对象
返回值
Promise<string>
示例
async function example() {
const bookmark = await Application.ActiveDocument.Bookmarks.item(1);
const res = await bookmark.getText();
}
getContent
JSSDK: 1.7.22、zOffice V7.2 FP3 支持
获取书签区域的JSON数据
语法
bookmark.getContent()
bookmark: 书签对象
返回值
Promise<any>书签的JSON对象及JSON的版本
| 属性 | 数据类型 | 说明 |
|---|---|---|
| version | string | json数据版本 |
| data | any[] | 书签区域内容的JSON数据 |
示例
async function example() {
const bookmark = await Application.ActiveDocument.Bookmarks.item(1);
const res = await bookmark.getContent();
}
setHtml
JSSDK: 1.2.0、zOffice2022.3 支持
设置书签位置的Html结构
语法
bookmark.setHtml()
bookmark: 书签对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| htmlString | string | 是 | Html结构 |
返回值
Promise<boolean> 是否设置成功
示例
async function example() {
const htmlString = JSON.parse('"<span >new Html</span>"');
const bookmark = await Application.ActiveDocument.Bookmarks.item(1);
const success = await bookmark.setHtml(htmlString);
}
setText
设置书签位置的文本
语法
bookmark.setText()
bookmark: 书签对象
返回值
Promise<boolean> 文本是否设置成功
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| content | string | 是 | 书签位置的文本 |
示例
async function example(content) {
const bookmark = await Application.ActiveDocument.Bookmarks.item(1);
const success = await bookmark.setText(content);
}
setContent
JSSDK: 1.7.22、zOffice V7.2 FP3 支持
根据传入的JSON数据,设置书签区域内容(JSON数据仅支持由bookmark.getContent()获取)
语法
bookmark.setContent(content)
bookmark: 书签对象
返回值
Promise<boolean> 数据是否设置成功(true:设置成功 false:设置失败)
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| content | any[] | 书签区域内容的JSON数据 |
示例
async function example() {
// 获取第一个书签的json数据
const bookmark = await Application.ActiveDocument.Bookmarks.item(1);
const content = await bookmark.getContent();
// 为第二个书签设置书签1的json数据
const bookmark = await Application.ActiveDocument.Bookmarks.item(2);
const success = await bookmark.setContent(content.data);
}
setTextCandidates
为指定书签添加预设值(为书签添加预设值后,光标进入到该书签区域时,书签尾部会显示一个小按钮,点击小按钮,预设值会显示在下拉列表里,点击某个预设值,会用此预设置替换掉该书签的内容)
语法
Bookmark.setTextCandidates(candidates)
Bookmark: 书签对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| candidates | string[] | 是 | 该书签对应的预设值数组 |
返回值
Promise<boolean>
示例
async function example() {
const bookmark = await Application.ActiveDocument.Bookmarks.item('test');
const success = await bookmark.setTextCandidates([
'A公司',
'B公司'
]);
}
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:文档类型应用对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| name | string | 是 | 书签名字【如果传入的书签名长度超过40,则截取长度为40的字符串作为书签名】 |
| range | Word.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: 文档类型应用对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| key | string | number | 是 | 书签名称/书签序号(序号从1开始) |
返回值
Promise<Word.Bookmark>
示例
async function example(key) {
const bookmark = await Application.ActiveDocument.Bookmarks.item(key);
}
setTextCandidates
批量为书签添加预设值(为书签添加预设值后,光标进入到该书签区域时,书签尾部会显示一个小按钮,点击小按钮,预设值会显示在下拉列表里,点击某个预设值,会用此预设置替换掉该书签的内容)
语法
Application.ActiveDocument.Bookmarks.setTextCandidates(candidates)
Application: 文档类型应用对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| candidates | Word.Candidates | 是 | Word.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: 文档类型应用对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| identifyRules | Word.MarksIdentifyRule | 是 | 智能书签识别规则 |
| nameRule | Word.MarksGenerateNameRule | 是 | 智能书签命名规则 |
| includeHeaderFooter | boolean | 否 | 是否包含页眉页脚区域 |
返回值
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();
}
Cell
JSSDK: 1.2.0、zOffice2022.3 支持
表格单元格
属性
range
JSSDK: 1.7.1、zOffice V7.2 FP1 支持
获取单元格范围
语法
Cell.range
Cell: 单元格对象
返回值
Promise<Word.Range>
示例
async function example() {
const table = await Application.ActiveDocument.Tables.item(1);
const row = await table.Rows.item(1);
const cell = await row.Cells.item(1);
const range = await cell.range;
}
方法
getRowSpan
获取单元格的行跨度。
语法
cell.getRowSpan()
cell: 单元格对象
返回值
Promise<number>
示例
async function example() {
const table = await Application.ActiveDocument.Tables.item(1);
const row = await table.Rows.item(1);
const cell = await row.Cells.item(1);
const cellRowSpan = await cell.getRowSpan();
}
getColSpan
获取单元格的列跨度。
语法
cell.getColSpan()
cell: 单元格对象
返回值
Promise<number>
返回值
async function example() {
const table = await Application.ActiveDocument.Tables.item(1);
const row = await table.Rows.item(1);
const cell = await row.Cells.item(1);
const cellColSpan = await cell.getColSpan();
}
getIndex
获取单元格所在行列位置。
语法
cell.getIndex()
cell: 单元格对象
返回值
Promise<[rowIndex, columnIndex]>
示例
async function example() {
const table = await Application.ActiveDocument.Tables.item(1);
const row = await table.Rows.item(1);
const cell = await row.Cells.item(1);
const cellIndex = await cell.getIndex();
}
getHtml
获取单元格的html结构。
语法
cell.getHtml()
cell: 单元格对象
返回值
Promise<string>
示例
async function example() {
const table = await Application.ActiveDocument.Tables.item(1);
const row = await table.Rows.item(1);
const cell = await row.Cells.item(1);
const getHtml = await cell.getHtml();
}
setHtml
设置单元格的html结构。
语法
cell.setHtml(htmlString)
cell: 单元格对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| htmlString | string | 是 | 单元格的Html结构 |
返回值
Promise<boolean>
示例
async function example() {
const table = await Application.ActiveDocument.Tables.item(1);
const row = await table.Rows.item(1);
const cell = await row.Cells.item(1);
const success = await cell.setHtml("<table><tbody><colgroup><col style='width:137.25pt'/></colgroup><tr><td><p>新的内容</p></td></tr></tbody></table>");
}
getText
获取单元格的文本内容。
语法
cell.getText()
cell: 单元格对象
返回值
Promise<string>
示例
async function example() {
const table = await Application.ActiveDocument.Tables.item(1);
const row = await table.Rows.item(1);
const cell = await row.Cells.item(1);
const getText = await cell.getText();
}
setText
设置单元格的文本内容。
语法
cell.setText(content)
cell: 单元格对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| content | string | 是 | 文本内容 |
返回值
Promise<boolean>
示例
async function example() {
const table = await Application.ActiveDocument.Tables.item(1);
const row = await table.Rows.item(1);
const cell = await row.Cells.item(1);
const success = await cell.setText('新的内容');
}
Cells
JSSDK: 1.3.0、zOffice V6 支持
单元格的集合。
属性
count
单元格数量。
语法
Cells.count
返回值
Promise<number>
示例
async function example() {
const table = await Application.ActiveDocument.Tables.item(1);
const row = await table.Rows.item(1);
const count = await row.Cells.count;
}
方法
item
根据参数获取单元格。
语法
Cells.item(index)
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| index | number | 是 | 单元格序号(从1开始) |
返回值
Promise<Word.Cell>
示例
async function example(index, cnt, isBefore) {
const table = await Application.ActiveDocument.Tables.item(1);
const row = await table.Rows.item(1);
const cell = await row.Cells.item(1);
}
Column
JSSDK: 1.2.0、zOffice2022.3 支持
表格列。
属性
index
JSSDK: 1.3.0、zOffice V6 支持
列号。
语法
column.index
column:表格列对象
返回值
Promise< number>
示例
async function example() {
const table = await Application.ActiveDocument.Tables.item(1);
const column = await table.Columns.item(1);
const index = await column.index;
}
方法
delete
JSSDK: 1.3.0、zOffice V6 支持
删除列。
语法
column.delete()
column: 列对象
返回值
Promise<boolean> 是否删除成功
示例
async function example() {
const table = await Application.ActiveDocument.Tables.item(1);
const column = await table.Columns.item(1);
const result = await column.delete();
}
Columns
JSSDK: 1.3.0、zOffice V6 支持
指定表格列的集合。
属性
count
指定表格列数量。
语法
Columns.count
返回值
Promise<number>
示例
async function example() {
const table = await Application.ActiveDocument.Tables.item(1);
const count = await table.Columns.count;
}
方法
add
插入列。
语法
Columns.add(index, cnt, isBefore)
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| index | number | 是 | 列序号(从1开始) |
| cnt | number | 是 | 插入数量 (从1开始, 最大不超过50) |
| isBefore | boolean | 是 | 布尔值 (true: 在左侧插入列;false:在右侧插入列) |
返回值
Promise<boolean> 是否插入成功
示例
async function example(index, cnt, isBefore) {
const table = await Application.ActiveDocument.Tables.item(1);
const columns = await table.Columns;
const success = await columns.add(index, cnt, isBefore);
}
deleteColumns
删除指定列。
语法
Columns.deleteColumns(index, cnt, isBefore)
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| index | number | 是 | 列序号(从1开始) |
| cnt | number | 否 | 删除数量 (默认为1) |
| isBefore | boolean | 否 | 布尔值 (true: 往左侧删除列;false:往右侧删除列,默认为false) |
返回值
Promise<boolean>
示例
async function example(index, cnt, isBefore) {
const table = await Application.ActiveDocument.Tables.item(1);
const success = await table.Columns.deleteColumns(index, cnt, isBefore);
}
item
根据参数获取表格列。
语法
Columns.item(index)
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| index | number | 是 | 列序号(从1开始) |
返回值
Promise<Word.Column>
示例
async function example(index, cnt, isBefore) {
const table = await Application.ActiveDocument.Tables.item(1);
const column = await table.Columns.item(1);
}
Comment
JSSDK: 1.7.1、zOffice v7.2 FP1 支持
批注
属性
range
批注所在正文区域
语法
Comment.range
返回值
Promise< Word.Range>
示例
// 获取正文中第一个批注的区域
async function example() {
const comment = await Application.ActiveDocument.Comments.item(1);
const range = await comment.range;
}
creator
批注创建者
语法
Comment.creator
返回值
Promise\< {name:string, uid:string}>
示例
// 获取正文中第一个批注的创建者
async function example() {
const comment = await Application.ActiveDocument.Comments.item(1);
const creator = await comment.creator;
}
content
批注内容
语法
Comment.content
返回值
Promise< string>
示例
// 获取正文中第一个批注的内容
async function example() {
const comment = await Application.ActiveDocument.Comments.item(1);
const content = await comment.content;
}
time
批注创建/修改时间
语法
Comment.time
返回值
Promise< number>
示例
// 获取正文中第一个批注的创建/修改时间
async function example() {
const comment = await Application.ActiveDocument.Comments.item(1);
const time = await comment.time;
}
done
批注解决状态,读/写
语法
Comment.done
返回值
Promise< boolean>
示例
// 解决正文中第一个批注
async function example() {
const comment = await Application.ActiveDocument.Comments.item(1);
comment.done = true;
}
// 重开正文中第一个批注
async function example() {
const comment = await Application.ActiveDocument.Comments.item(1);
comment.done = false;
}
// 获取正文中第一个批注的状态
async function example() {
const comment = await Application.ActiveDocument.Comments.item(1);
const isDone = await comment.done;
}
parent
返回回复的父批注
语法
Comment.parent
返回值
Promise< Word.Comment>
示例
// 获取回复的父批注
async function example() {
const comment = await Application.ActiveDocument.Comments.item(3);
const parent = await comment.parent;
if (parent) {
const content = await parent.content;
}
}
Replies
返回一个 Comment 集合,这些注释对象是指定批注的子级。 此为只读属性。
语法
Comment.Replies
返回值
Promise<Word.Comments>
示例
// 获取正文中第一个批注的回复数目
async function example() {
const comment = await Application.ActiveDocument.Comments.item(1);
const replies = await comment.Replies;
const count = await replies.count;
}
方法
delete
删除批注。
语法
comment.delete()
返回值
Promise<boolean> 是否删除成功
示例
async function example() {
const comment = await Application.ActiveDocument.Comments.item(1);
const success = await comment.delete();
}
toJson
返回批注结构化数据
语法
comment.toJson()
返回值
Promise<any>
{
content: string, // 批注内容
creator: {
uid: string, // 批注创建者 ID
name: string // 批注创建者名字
},
id: string, // 批注ID
pid: string, // 父批注ID(如果是回复,会返回该字段)
time: number, // 批注创建时间戳
done: boolean // 批注是否已解决
}
示例
async function example() {
const comment = await Application.ActiveDocument.Comments.item(1);
const data = await comment.toJson();
}
focus
定位批注
语法
comment.focus()
返回值
无
示例
// 定位文档中第一个批注
async function example() {
const comment = await Application.ActiveDocument.Comments.item(1);
await comment.focus();
}
setHidden
设置批注框隐藏
语法
comment.setHidden(hide)
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| hide | boolean | 是 | 是否隐藏 |
返回值
无
示例
// 隐藏文档中第一个批注
async function example() {
const comment = await Application.ActiveDocument.Comments.item(1);
await comment.setHidden(true);
}
// 取消隐藏文档中第一个批注
async function example() {
const comment = await Application.ActiveDocument.Comments.item(1);
await comment.setHidden(false);
}
// 隐藏文档中第一个批注的第1条回复
async function example() {
const comment = await Application.ActiveDocument.Comments.item(1);
const replies = await comment.Replies;
const reply = await replies.item(1);
await reply.setHidden(true);
}
setHighlightColor
设置批注标记颜色
语法
comment.setHighlightColor(color)
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| color | string | 是 | 十六进制颜色码 |
返回值
无
示例
// 设置文档中第一个批注的批注标记颜色为红色
async function example() {
const comment = await Application.ActiveDocument.Comments.item(1);
await comment.setHighlightColor('#ff0000');
}
Comments
JSSDK: 1.7.1、zOffice v7.2 FP1 支持
一个 Comment 对象的集合,这些对象代表所选内容、区域或文档中的批注。
属性
count
批注的数量
语法
Comments.count
返回值
Promise<number>
示例
// 获取全文批注数量
async function example() {
const count = await Application.ActiveDocument.Comments.count;
}
方法
add
添加批注
语法
Comments.add(text, range)
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| text | string | 是 | 批注内容 |
| range | Word.Range | 否 | 指定添加批注的区域,默认在当前选区添加 |
返回值
Promise<Word.Comment>
示例
// 在当前选区添加批注
async function example() {
const comments = Application.ActiveDocument.Comments;
const comment = await comments.add('我的批注');
}
// 在书签区域添加批注
async function example() {
const comments = Application.ActiveDocument.Comments;
const bm = await Application.ActiveDocument.Bookmarks.item('bm');
const range = await bm.range;
const comment = await comments.add('我的批注', range);
}
// 给指定批注添加回复
async function example() {
const comments = Application.ActiveDocument.Comments;
const comment = await comments.item(1);
const replies = await comment.Replies;
const comment = await replies.add('添加批注');
}
item
返回集合中的单个 批注 对象。
语法
Comments.item(index)
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| index | number | 是 | 批注在集合中的序号 |
返回值
Promise<Word.Comment>
示例
// 获取全文中第一个批注
async function example() {
const comments = Application.ActiveDocument.Comments;
const comment = await comments.item(1);
}
toJson
返回集合中的单个 批注 对象的结构化数据。
语法
Columns.toJson()
返回值
Promise<any[]>
{
content: string, // 批注内容
creator: {
uid: string, // 批注创建者 ID
name: string // 批注创建者名字
},
id: string, // 批注ID
pid: string, // 父批注ID(如果是回复,会返回该字段)
time: number, // 批注创建时间戳
done: boolean // 批注是否已解决
}
示例
// 获取全文中所有批注的结构化数据
async function example() {
const comments = Application.ActiveDocument.Comments;
const data = await comments.toJson();
}
Document
当前文字文档
属性
ActiveWindow
返回一个 Window 对象,该对象代表当前活动窗口
语法
Application.ActiveDocument.ActiveWindow
返回值
ActiveWindow
示例
function example() {
const ActiveWindow = Application.ActiveDocument.ActiveWindow;
}
Bookmarks
JSSDK: 1.2.2、zOffice2022.3 FP2 支持
返回一个 Bookmarks 集合,该集合代表文档中的所有书签。
语法
Application.ActiveDocument.Bookmarks
返回值
Word.Bookmarks
示例
// 获取文档中所有书签数目
function example() {
const bookmarks = Application.ActiveDocument.Bookmarks;
const count = await bookmarks.count;
}
PermMarks
JSSDK: 1.2.2、zOffice2022.3 FP2 支持
返回一个 PermMarks 集合,该集合代表文档中的所有可编辑区域。
语法
Application.ActiveDocument.PermMarks
返回值
Word.PermMarks
示例
// 获取文档中所有可编辑区域数目
function example() {
const permMarks = Application.ActiveDocument.PermMarks;
const count = await permMarks.count;
}
Comments
返回一个 Comments 集合,该集合代表文档中的所有批注。
语法
Application.ActiveDocument.Comments
返回值
Word.Comments
示例
// 获取文档中所有批注数目
function example() {
const comments = Application.ActiveDocument.Comments;
const count = await comments.count;
}
Paragraphs
返回一个 Paragraphs 集合,该集合代表文档中的所有段落。
语法
Application.ActiveDocument.Paragraphs
返回值
Word.Paragraphs
示例
// 获取文档中所有段落数目
function example() {
const paragraphs = Application.ActiveDocument.Paragraphs;
const count = await paragraphs.count;
}
Tables
返回一个 Tables 集合,该集合代表文档中的所有表格。
语法
Application.ActiveDocument.Tables
返回值
Word.Tables
示例
// 获取文档中所有表格数目
function example() {
const tables = Application.ActiveDocument.Tables;
const count = await tables.count;
}
Revisions
返回一个 Revisions 集合,该集合代表文档中的所有修订。
语法
Application.ActiveDocument.Revisions
返回值
Word.Revisions
示例
// 获取文档中所有修订数目
function example() {
const revisions = Application.ActiveDocument.Revisions;
const count = await revisions.count;
}
Shapes
返回一个 Shapes 集合,该集合代表文档中的所有形状。
语法
Application.ActiveDocument.Shapes
返回值
Word.Shapes
示例
// 获取文档中所有形状数目
function example() {
const shapes = Application.ActiveDocument.Shapes;
const count = await shapes.count;
}
InlineShapes
返回一个 InlineShapes 集合,该集合代表文档中的所有内嵌形状。
语法
Application.ActiveDocument.InlineShapes
返回值
Word.InlineShapes
示例
// 获取文档中所有内嵌形状数目
function example() {
const inlineShapes = Application.ActiveDocument.InlineShapes;
const count = await inlineShapes.count;
}
Sections
返回一个 Sections 集合,该集合代表文档中的所有节。
语法
Application.ActiveDocument.Sections
返回值
Word.Sections
示例
// 获取文档中所有内嵌形状数目
function example() {
const sections = Application.ActiveDocument.Sections;
const count = await sections.count;
}
OutlineEntries
JSSDK: 1.9.1、zOffice V8.0 FP1 支持
返回一个 OutlineEntries 集合,该集合代表文档中的所有大纲段落。
语法
Application.ActiveDocument.OutlineEntries
返回值
Word.OutlineEntries
示例
// 获取文档中所有大纲段落数目
function example() {
const OutlineEntries = Application.ActiveDocument.OutlineEntries;
const count = await OutlineEntries.count;
}
Content
JSSDK: 1.3.3、zOffice V6.0 FP3 支持
返回一个只读Range对象,该对象代表主文档文章。
语法
Application.ActiveDocument.Content
返回值
Range
示例
function example() {
const range = Application.ActiveDocument.Content;
}
ProtectionType
JSSDK: 1.7.2、zOffice V7.2 FP1 支持
返回文档的保护类型,可以是 Word.ProtectionType 常量之一
语法
Application.ActiveDocument.ProtectionType
返回值
Promise<number>
示例
async function example() {
const protectType = await Application.ActiveDocument.ProtectionType;
}
PermissionType
JSSDK: 1.9.1、zOffice V8.0 FP1 支持
当文档处于区域编辑保护状态时,文档的默认编辑权限,可以是 Word.DocPermission 常量之一,只读
语法
Application.ActiveDocument.PermissionType
返回值
Promise<Word.DocPermission>
示例
async function example() {
const docPermission = await Application.ActiveDocument.PermissionType;
}
方法
protect
JSSDK: 1.7.2、zOffice V7.2 FP1 支持
文档保护开启
语法
Application.ActiveDocument.protect(type, docPermission)
多个模式用 “ | ” 连接
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| type | number | 是 | 传入保护类型,具体值参照Word.ProtectionType枚举值(只有修订保护类型可以和其他保护类型同时设置,其他保护类型只能单独设置) |
| docPermission | Word.DocPermission | 否 | 当开启区域编辑保护时,全文的默认权限,默认全文只读 |
返回值
Promise<boolean>
示例
async function example1() {
const type = Word.ProtectionType
const result = await app.ActiveDocument.protect(type.EditArea | type.Revision); // 同时开启区域编辑和修订保护
console.log(result)
}
async function example2() {
const type = Word.ProtectionType
const result = await app.ActiveDocument.protect(type.EditArea, Word.DocPermission.Editable); // 开启区域编辑保护,全文默认可编辑
console.log(result)
}
unprotect
JSSDK: 1.7.2、zOffice V7.2 FP1 支持
文档保护关闭开启
语法
Application.ActiveDocument.unprotect()
返回值
Promise<boolean>
示例
async function example() {
const result = await app.ActiveDocument.unprotect();
console.log(result);
}
isDataProtectionOn
JSSDK: 1.0.3、zOffice2022.1 FP3 支持
内容保护是否开启
语法
Application.ActiveDocument.isDataProtectionOn()
返回值
Promise<boolean>
示例
async function example() {
const isOpen = await Application.ActiveDocument.isDataProtectionOn();
console.log(isOpen);
}
save
保存文档
语法
Application.ActiveDocument.save()
返回值
Promise<boolean>
示例
async function example() {
await Application.ActiveDocument.save();
}
saveAs
JSSDK: 1.2.1、zOffice2022.3 FP1 支持
另存为文件
语法
Application.ActiveDocument.saveAs(format, name, path)
参数
| 属性 | 数据类型 | 必须 | 说明 |
|---|---|---|---|
| format | string | 是 | 另存为文件类型。目前仅支持pdf |
| name | string | 否 | 不带有后缀的文件名。name为空时文件名为当前文件名拼接时间(格式为yyyyMMddhhmmss),zOffice服务端发送preflight check请求时会回传 |
返回值
无
示例
// 只指定另存为格式
async function example() {
await Application.ActiveDocument.saveAs('pdf');
}
// 指定另存为格式和文件名
async function example2() {
await Application.ActiveDocument.saveAs('pdf', 'newFileName');
}
print
JSSDK: 1.2.2、zOffice2022.3 FP2 支持
打印文档
语法
Application.ActiveDocument.print()
返回值
Promise<boolean> 是否成功打开打印页面
示例
async function example() {
await Application.ActiveDocument.print();
}
getWordCount
JSSDK: 1.9.0、zOffice V7.4 支持
获取当前文档字数
语法
Application.ActiveDocument.getWordCount()
返回值
Promise<WordsCountJSON>
WordsCountJSON
{
total: number; // 文档总字数
}
示例
async function example() {
const words = await Application.ActiveDocument.getWordCount();
const wordsCount = words.total; // 文档字数
console.log(wordsCount)
}
getSelection
获取当前光标选择范围
语法
Application.ActiveDocument.getSelection()
Application:文档类型应用对象
返回值
Promise<Word.Range>
示例
async function example() {
const range = await Application.ActiveDocument.getSelection();
}
setSelection
选择指定范围内容
语法
Application.ActiveDocument.setSelection(range)
Application:文档类型应用对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| range | Word.Range | 是 | 范围 |
返回值
Promise<boolean>
示例
async function example() {
const bookmark = await Application.ActiveDocument.Bookmarks.item(1);
const range = await bookmark.range;
const res = await Application.ActiveDocument.setSelection(range);
}
getPageCount
获取页面总数
语法
Application.ActiveDocument.getPageCount()
Application:文档类型应用对象
返回值
Promise<number>
示例
async function example() {
const pageCount = await Application.ActiveDocument.getPageCount();
}
getComments
JSSDK: 1.0.4、zOffice2022.1 FP4 支持
获取所有批注数据
语法
Application.ActiveDocument.getComments()
Application:文档类型应用对象
返回值
Promise<Comment[]>
Comment 数据结构
{
content: string,
id: string,
replies: CommentReply[], // 批注回复,如果没有回复,则为空数组
resolved: boolean,
time: number
users: {
name: string,
uid: string
}
}
CommentReply 数据结构
{
content: string,
id: string,
pid: string, // 回复的批注的 id
time: number,
users: {
name: string,
uid: string
}
}
示例
async function example() {
const comments = await Application.ActiveDocument.getComments();
}
getName
获取文档标题名称
语法
Application.ActiveDocument.getName()
Application:文档类型应用对象
返回值
Promise<string>
示例
async function example() {
const documentTitle = await Application.ActiveDocument.getName();
}
getParagraphs
获取当前文档的所有一级段落
语法
Application.ActiveDocument.getParagraphs(option)
Application:文档类型应用对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| option | any | 否 | option.afterToc 为 true 表示只获取目录之后的段落 |
返回值
Promise<Word.Paragraph[]>
示例
async function example() {
const paras = await Application.ActiveDocument.getParagraphs();
}
enableTrackChange
打开跟踪更改,后续修改会生成修订记录
语法
Application.ActiveDocument.enableTrackChange()
Application:文档类型应用对象
返回值
无
示例
async function example() {
await Application.ActiveDocument.enableTrackChange();
}
disableTrackChange
关闭跟踪更改,关闭后后续修改不会再生成修订记录
语法
Application.ActiveDocument.disableTrackChange()
Application:文档类型应用对象
返回值
无
示例
async function example() {
await Application.ActiveDocument.disableTrackChange();
}
acceptAllRevisions
接受所有更改
语法
Application.ActiveDocument.acceptAllRevisions()
Application:文档类型应用对象
返回值
无
示例
async function example() {
await Application.ActiveDocument.acceptAllRevisions();
}
rejectAllRevisions
拒绝所有更改
语法
Application.ActiveDocument.rejectAllRevisions()
Application:文档类型应用对象
返回值
无
示例
async function example() {
await Application.ActiveDocument.rejectAllRevisions();
}
CleanDocument
清稿:清除所有文中的批注和接收全部修订记录
语法
Application.ActiveDocument.CleanDocument()
Application: 文档类型应用对象
返回值
无
示例
async function example() {
await Application.ActiveDocument.CleanDocument();
}
CleanComments
删除所有批注
语法
Application.ActiveDocument.CleanComments()
Application: 文档类型应用对象
返回值
无
示例
async function example() {
await Application.ActiveDocument.CleanComments();
}
Find
JSSDK: 1.3.3、zOffice V6.0 FP3 支持
代表查找操作的执行条件。
方法
findData
找到的所有匹配项,并返回匹配项数目。
语法
Find.findData(findText, matchCase, matchWholeWord)
Find: 查找操作的执行条件对象。
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| findText | string | 是 | 要查找的文本 |
| matchCase | boolean | 否 | 是否区分大小写 |
| matchWholeWord | boolean | 否 | 是否全词匹配 |
返回值
Promise<number>
示例
// 全文查找内容“文本“,全词匹配
async function example1() {
const count = await Application.ActiveDocument.Content.Find.findData("文本", false, true);
}
// 在当前选区内查找内容“文本“,全词匹配
async function example2() {
const range = await Application.ActiveDocument.getSelection();
const count = await range.Find.findData("文本", false, true);
}
clearHitHighlight
取消突出显示,并返回一个 boolean 类型的值 ,表示该操作是否成功。
语法
Find.clearHitHighlight()
Find: 查找操作的执行条件对象。
返回值
Promise<boolean>
示例
async function example1() {
const success = await app.ActiveDocument.Content.Find.clearHighlight();
}
execute
JSSDK: 1.5.2、zOffice V7.0 FP2支持
- 搜索并高亮文本
语法
Find.execute(findText, showHighlight)
Find: 查找操作的执行条件对象。
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| findText | string | 否 | 要搜索的文本 |
| showHighlight | boolean | 否 | 是否高亮显示搜索结果,默认true |
返回值
Promise<boolean>
示例
// 搜索并高亮文本
async function example1() {
const success = await app.ActiveDocument.Content.Find.execute('zOffice', true);
console.log('success:', success);
}
Font
JSSDK: 1.7.3、zOffice V7.2 FP3支持
返回或设置范围内的字体属性,如字号、字体颜色、是否加粗、是否加下划线、是否设置斜体。
属性
Italic
返回或设置范围内的倾斜格式。读/写boolean值 。
语法
Font.Italic
Font: 字体对象
示例
async function example() {
// 获取/设置书签区域的斜体样式
const bookmark = await app.ActiveDocument.Bookmarks.item(1);
const range = await bookmark.range;
const isItalic = await range.Font.Italic;
console.log(isItalic);
range.Font.Italic = true;
}
Bold
返回或设置范围内的加粗格式。读/写boolean值 。
语法
Font.Bold
Font: 字体对象
示例
async function example() {
// 获取/设置书签区域的字体加粗样式
const bookmark = await app.ActiveDocument.Bookmarks.item(1);
const range = await bookmark.range;
const isBold = await range.Font.Bold;
console.log(isBold);
range.Font.Bold = true;
}
Underline
返回或设置应用于范围内的下划线的类型。 读/写 WdUnderline 。
语法
Font.Underline
Font: 字体对象
示例
async function example() {
// 获取/设置书签区域的字体下划线样式
const bookmark = await app.ActiveDocument.Bookmarks.item(1);
const range = await bookmark.range;
const underline = await range.Font.Underline;
console.log(underline);
range.Font.Underline = Word.WdUnderline.wdUnderlineSingle;
}
Color
返回或设置应用于范围内的颜色。可读写。6位十六进制颜色值,例如:#000000
语法
Font.Color
Font: 字体对象
示例
async function example() {
// 根据6位十六进制颜色值获取/返回书签区域的字体颜色
const bookmark = await app.ActiveDocument.Bookmarks.item(1);
const range = await bookmark.range;
const Color = await range.Font.Color;
console.log(Color);
range.Font.Color = "#ffffff";
}
ColorIndex
返回或设置一个 WdColorIndex 常量,该常量代表指定字体的颜色。可读写。
语法
Font.ColorIndex
Font: 字体对象
示例
async function example() {
// 根据颜色枚举值获取/返回书签区域的字体颜色
const bookmark = await app.ActiveDocument.Bookmarks.item(1);
const range = await bookmark.range;
const ColorIndex = await range.Font.ColorIndex;
console.log(ColorIndex);
range.Font.ColorIndex = Word.wdColorIndex.wdOrigin;
}
Size
设置或返回文字的字体大小,可读写 number。
语法
Font.Size
Font: 字体对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| Size | number | 是 | Size >= 1 && Size <= 1638 && Size支持至小数点后一位(单位:磅,pt) |
示例
async function example() {
// 获取/设置书签区域的字体字号大小
const bookmark = await app.ActiveDocument.Bookmarks.item(1);
const range = await bookmark.range;
const Size = await range.Font.Size;
console.log(Size);
range.Font.Size = 20;
}
Footers
JSSDK: 1.4.1、zOffice V7.0 FP1支持
代表文档中所有页脚。
属性
item
返回集合中的单个 Footer对象。
语法
Footers.item(key)
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| key | Word.WdHeaderFooterIndex | 是 | 指定区域或部分中页眉的常量 |
返回值
Promise<Word.Footer>
示例
async function example() {
const section = await Application.ActiveDocument.Sections.item(1);
const footers = section.Footers;
const footer = await headers.item(Word.WdHeaderFooterIndex.wdHeaderFooterFirstPage);
}
Footer
JSSDK: 1.4.1、zOffice V7.0 FP1支持
代表一个单独的页脚,Footer对象是Footers的成员集合,Footers集合包含指定的文档中所有页脚。
属性
range
返回一个 Range对象,该对象代表指定的页脚中包含的文档部分。
语法
Footer.range
返回值
Promise<Word.Range>
示例
async function example() {
const section = await app.ActiveDocument.Sections.item(1);
const footers = section.Footers;
const footer = await footers.item(Word.WdHeaderFooterIndex.wdHeaderFooterFirstPage);
const range = await footer.range;
}
Headers
JSSDK: 1.4.1、zOffice V7.0 FP1支持
代表文档中所有页眉。
属性
item
返回集合中的单个 Header对象。
语法
Headers.item(key)
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| key | Word.WdHeaderFooterIndex | 是 | 指定区域或部分中页眉的常量 |
返回值
Promise<Word.Header>
示例
async function example() {
const section = await Application.ActiveDocument.Sections.item(1);
const headers = section.Headers;
const header = await headers.item(Word.WdHeaderFooterIndex.wdHeaderFooterFirstPage);
}
Header
JSSDK: 1.4.1、zOffice V7.0 FP1支持
代表一个单独的页眉,Header对象是Headers的成员集合,Headers 集合包含指定的文档中所有页眉。
属性
range
返回一个 Range对象,该对象代表指定的页眉中包含的文档部分。
语法
Header.range
返回值
Promise<Word.Range>
示例
async function example() {
const section = await app.ActiveDocument.Sections.item(1);
const headers = section.Headers;
const header = await headers.item(Word.WdHeaderFooterIndex.wdHeaderFooterFirstPage);
const range = await header.range;
}
InlineShape
JSSDK: 1.3.1、zOffice V6.0 FP1 支持
代表文档的文字层中的对象。 内嵌形状只能是图片、OLE 对象或 ActiveX 控件。 InlineShape 对象是 InlineShapes 集合的成员。 InlineShapes 集合包含文档、范围或所选内容中的所有内嵌形状。(目前仅支持嵌入式图片)
方法
delete
删除指定的嵌入式图形。
语法
inlineShape.delete()
inlineShape: 嵌入式图片对象
返回值
Promise<boolean>
示例
async function example() {
const inlineShape = await Application.ActiveDocument.InlineShapes.item(1);
const success = await inlineShape.delete();
}
focus
JSSDK: 1.4.0、zOffice V6.1 支持
定位嵌入式图片
语法
InlineShape.focus()
InlineShape: 嵌入式图片对象
返回值
Promise<boolean> 是否定位成功
示例
async function example() {
const inlineShape = await Application.ActiveDocument.InlineShapes.item(1);
const success = await inlineShape.focus();
}
InlineShapes
JSSDK: 1.3.1、zOffice V6.0 FP1 支持
InlineShape 对象的集合,这些对象代表文档的文字层中的对象。内嵌形状只能是图片、OLE 对象或 ActiveX 控件。(目前仅支持嵌入式图片)
属性
count
返回一个 Long ,该值表示集合中的内嵌图形的数目。 此为只读属性。
语法
Application.ActiveDocument.InlineShapes.count
Application: 文档类型应用对象
返回值
Promise<number>
示例
async function example() {
const count = await Application.ActiveDocument.InlineShapes.count;
}
方法
addPicture
在文档中添加一幅图片。 返回一个代表该图片的 InlineShape 对象。(默认在当前光标位置添加)
语法
Application.ActiveDocument.InlineShapes.addPicture(file, range, bReplace)
Application: 文档类型应用对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| file | File | 是 | 图片的文件对象(限10MB) |
| range | Word.Range | 否 | 区域位置(默认在当前选区插入) |
| bReplace | boolean | 否 | 是否替换区域内容(默认false,将图片插入在区域开始位置,不删除区域内容,true表示删除区域内容后插入图片) |
返回值
Promise<Word.InlineShape>
示例
<input type="file" name="插入嵌入式图片" id="imageInput"/>
const inputElement = document.getElementById('imageInput');
// sample1,在当前选区插入图片,不替换区域内容
inputElement.onchange = async function() {
const InlineShapes = await Application.ActiveDocument.InlineShapes;
const inlineShape = await InlineShapes.addPicture(inputElement.files[0]);
}
// sample2,在当前选区插入图片,替换区域内容
inputElement.onchange = async function() {
const InlineShapes = await Application.ActiveDocument.InlineShapes;
const pm = await Application.ActiveDocument.PermMarks.item(1);
const pmRange = await pm.range;
const inlineShape = await InlineShapes.addPicture(inputElement.files[0], undefined, true);
}
// sample3,在指定选区插入图片,不替换区域内容
inputElement.onchange = async function() {
const InlineShapes = await Application.ActiveDocument.InlineShapes;
const pm = await Application.ActiveDocument.PermMarks.item(1);
const pmRange = await pm.range;
const inlineShape = await InlineShapes.addPicture(inputElement.files[0], range);
}
// sample4,在指定区域插入图片,替换区域内容
inputElement.onchange = async function() {
const InlineShapes = await Application.ActiveDocument.InlineShapes;
const pm = await Application.ActiveDocument.PermMarks.item(1);
const pmRange = await pm.range;
const inlineShape = await InlineShapes.addPicture(inputElement.files[0], range, true);
}
item
返回集合中的单个对象, InlineShape 。
语法
Application.ActiveDocument.InlineShapes.item(key)
Application: 文档类型应用对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| key | number | 是 | InlineShape 在文档中的序号位置(从1开始) |
返回值
Promise<Word.InlineShape>
示例
async function example() {
const InlineShapes = await Application.ActiveDocument.InlineShapes;
const inlineShape = await InlineShapes.item(1);
}
OutlineEntry
JSSDK: 1.9.1、zOffice V8.0 FP1 支持
代表文档导航栏中的大纲条目对象。
属性
contentRange
大纲段落区域。返回一个 Range 对象,该对象代表指定的大纲条目对应在文档中的内容区域。
语法
OutlineEntry.contentRange
返回值
Promise<Word.Range>
示例
async function example() {
const outlineEntry = await app.ActiveDocument.OutlineEntries.item(1);
const paraRange = await outlineEntry.contentRange;
}
outlineRange
大纲区域。返回一个 Range 对象,该对象代表指定的大纲条目对应在文档中的段落,至下一个同级别或更高级别大纲段落之间的区域。
语法
OutlineEntry.outlineRange
返回值
Promise<Word.Range>
示例
async function example() {
const outlineEntry = await app.ActiveDocument.OutlineEntries.item(1);
const range = await outlineEntry.outlineRange;
}
level
返回大纲级别,只读 Word.WdOutlineLevel
语法
OutlineEntry.level
返回值
Promise<Word.WdOutlineLevel>
示例
async function example() {
const outlineEntry = await app.ActiveDocument.OutlineEntries.item(1);
const level = await outlineEntry.level;
}
方法
focus
定位大纲条目对应的文档段落区域
语法
OutlineEntry.focus()
OutlineEntry: 大纲条目对象
返回值
Promise<boolean>
示例
async function example() {
const outlineEntry = await app.ActiveDocument.OutlineEntries.item(1);
const success = await outlineEntry.focus();
}
outlineFocus
定位大纲区域。即大纲条目对应在文档中的段落,至下一个同级别或更高级别大纲段落之间的区域。
语法
OutlineEntry.outlineFocus()
OutlineEntry: 大纲条目对象
返回值
Promise<boolean>
示例
async function example() {
const outlineEntry = await app.ActiveDocument.OutlineEntries.item(1);
const success = await outlineEntry.outlineFocus();
}
getText
返回大纲条目显示的内容
语法
OutlineEntry.getText()
OutlineEntry: 大纲条目对象
返回值
Promise<string>
示例
async function example() {
const outlineEntry = await app.ActiveDocument.OutlineEntries.item(1);
const text = await outlineEntry.getText();
}
OutlineEntries
JSSDK: 1.9.1、zOffice V8.0 FP1 支持
OutlineEntry 对象的集合
属性
count
返回文档中的大纲条目
语法
Application.ActiveDocument.OutlineEntries.count
Application: 文档类型应用对象
返回值
Promise<number>
示例
async function example() {
const count = await Application.ActiveDocument.OutlineEntries.count;
}
方法
item
返回集合中的单个对象, OutlineEntry 。
语法
Application.ActiveDocument.OutlineEntries.item(key)
Application: 文档类型应用对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| key | number|string | 是 | number:outlineEntry对象在所有大纲条目中的序号位置(从1开始) string:outlineEntry对象的id |
返回值
Promise<Word.OutlineEntry>
示例
async function example() {
const OutlineEntries = Application.ActiveDocument.OutlineEntry;
const outlineEntry1 = await OutlineEntries.item(1);
const id = outlineEntry1.id;
const outlineEntry2 = await OutlineEntries.item(id);
}
Paragraph
段落对象
属性
index
JSSDK: 1.9.1、zOffice V8.0 FP1 支持
获取段落在文档中的序号
语法
paragraph.index
paragraph: 段落对象
返回值
Promise<number>
示例
async function example1() {
const paragraph = await Application.ActiveDocument.Paragraphs.item(5);
const index = await paragraph.index;
}
// 获取第一个大纲条目对应的文档段落的序号
async function example2() {
const outlineEntry = await Application.ActiveDocument.OutlineEnties.item(1);
const index = await outlineEntry.paragraph.index;
}
range
JSSDK: 1.2.2、zOffice2022.3 FP2 支持
获取段落的Range
语法
paragraph.range
paragraph: 段落对象
返回值
Promise<Range>
示例
async function example() {
const paragraph = await Application.ActiveDocument.Paragraphs.item(1);
const range = await paragraph.range;
}
outlineLevel
JSSDK: 1.4.0、zOffice V6.1 支持
返回指定段落的大纲级别。
语法
Paragraph.outlineLevel
Paragraph: 段落对象
返回值
Promise<Word.WdOutlineLevel>
示例
async function example() {
const paragraph = await Application.ActiveDocument.Paragraphs.item(1);
const outlineLevel = await paragraph.outlineLevel;
}
style
JSSDK: 1.4.0、zOffice V6.1 支持
返回指定对象的样式。
语法
Paragraph.style
Paragraph: 段落对象
返回值
Word.Style
示例
async function example() {
const paragraph = await Application.ActiveDocument.Paragraphs.item(1);
const style = paragraph.style;
}
方法
appendText
加文本追加到当前段落
语法
paragraph.appendText(content)
paragraph: 段落对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| content | string | 是 | 追加的纯文字文本内容 |
返回值
Promise<boolean>
示例
async function example(content) {
const paragraph = await Application.ActiveDocument.Paragraphs.item(1);
const res = await paragraph.appendText(content);
}
clear
清除段落内容
语法
paragraph.clear()
paragraph: 段落对象
返回值
Promise<boolean>
示例
async function example() {
const paragraph = await Application.ActiveDocument.Paragraphs.item(1);
const res = await paragraph.clear();
}
getRange
获取段落指定偏移量和长度的Range
语法
paragraph.getRange(startOffset, length)
paragraph: 段落对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| startOffset | number | 否 | 偏移量(默认为0,两个参数都不传时返回整个段落的range) |
| length | number | 否 | 要获取Range的长度(不传或者length超过startOffset后段落长度时,返回startOffset到段落末尾的range) |
返回值
Promise<Range>
示例
async function example() {
const paragraph = await Application.ActiveDocument.Paragraphs.item(1);
const res = await paragraph.getRange(1, 10);
}
getTextContent
获取段落指定偏移量和长度的内容,不传参数时默认获取段落整段内容
语法
paragraph.getTextContent(startOffset, length, options)
paragraph: 段落对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| startOffset | number | 否 | 偏移量(从0开始,默认为0) |
| length | number | 否 | 要获取内容的长度(不传或传0时,获取 startOffset 之后的所有内容) |
| options | object | 否 | 额外参数 |
options结构
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| listSymbol | boolean | 否 | 是否返回编号,默认false |
返回值
Promise<string>
示例
// 获取到的段落的完整内容,不包含编号
async function example1() {
const paragraph = await Application.ActiveDocument.Paragraphs.item(1);
const text = await paragraph.getTextContent();
}
// 获取到的段落的完整内容,包含编号
async function example2() {
const paragraph = await Application.ActiveDocument.Paragraphs.item(1);
const text = await paragraph.getTextContent(undefined, undefined, { listSymbol: true });
}
setText
将段落内容设置为指定文字
语法
paragraph.setText(content)
paragraph: 段落对象
返回值
Promise<boolean>
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| content | string | 是 | 添加的纯文本字符串 |
示例
async function example(content) {
const paragraph = await Application.ActiveDocument.Paragraphs.item(1);
const success = await paragraph.setText(content);
}
Paragraphs
JSSDK: 1.2.2、zOffice2022.3 FP2 支持
文档中所有段落对象集合。
属性
count
段落的数量
语法
Application.ActiveDocument.Paragraphs.count
Application: 文档类型应用对象
返回值
count: Promise<number>
示例
async function example() {
const count = await Application.ActiveDocument.Paragraphs.count;
}
方法
item
根据段落序号或段落id获取单个段落
语法
Application.ActiveDocument.Paragraphs.item(key)
Application: 文档类型应用对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| key | number | string | 是 | 段落序号(序号从1开始) | 段落Id |
返回值
Promise<Word.Paragraph>
示例
async function example() {
// 通过index获取段落
const paragraphByIndex = await Application.ActiveDocument.Paragraphs.item(1);
// 通过id获取段落
const paragraph = await Application.ActiveDocument.Paragraphs.item(paragraphByIndex.id);
}
add
在当前文档的指定顺序位置插入一个新的包含指定文本的段落
语法
Application.ActiveDocument.Paragraphs.add(text, index)
Application:文档类型应用对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| text | string | 是 | 插入段落的纯文本文字内容 |
| index | number | 否 | 段落序号(从1开始,默认插入到文档末尾) |
返回值
Promise<Word.Paragraph>
示例
async function example(text, index) {
let paragraph = await Application.ActiveDocument.Paragraphs.add(text, index);
}
PermMark
JSSDK: 1.2.0、zOffice2022.3 支持
内容保护文档的可编辑区域对象
属性
name
可编辑区域对象的名称
语法
permMark.name
permMark: 内容保护文档的可编辑区域对象
返回值
name: Promise<string>
示例
async function example() {
const permMark = await Application.ActiveDocument.PermMarks.item(1);
const name = await permMark.name;
}
range
获取可编辑区域所在范围
语法
permMark.range
permMark: 内容保护文档的可编辑区域对象
返回值
Promise<Word.Range>
示例
async function example() {
const permMark = await Application.ActiveDocument.PermMarks.item(1);
const range = await permMark.range;
}
permissionType
JSSDK: 1.9.1、zOffice V8.0 FP1 支持
可编辑区域,对于当前人的权限
语法
permMark.permissionType
permMark: 内容保护文档的可编辑区域对象
返回值
Promise<Word.PermissionType>
示例
async function example() {
const permMark = await Application.ActiveDocument.PermMarks.item(1);
const permissionType = await permMark.permissionType;
}
方法
addEditors
添加可编辑区域用户信息
语法
permMark.addEditors(option)
permMark: 内容保护文档的可编辑区域对象
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| option | any | 是 | option为{"group":["everyone"]}或者{"users": string[] // 用户ID} |
返回值
Promise<boolean> 是否添加成功
示例
async function example(app, option) {
let success = false;
const permMark = await Application.ActiveDocument.PermMarks.item(1);
if (permMark) editors = await permMark.addEditors(option);
}
delete
JSSDK: 1.2.2、zOffice2022.3 FP2 支持
删除可编辑区域
语法
permMark.delete()
permMark: 内容保护文档的可编辑区域对象
返回值
Promise<boolean> 是否删除成功
示例
async function example(app) {
let success = false;
const permMark = await Application.ActiveDocument.PermMarks.item(1);
if (permMark) success = await permMark.delete();
}
deleteEditors
JSSDK: 1.2.0、zOffice2022.3 支持
删除可编辑区域用户信息
语法
permMark.deleteEditors(option)
permMark: 内容保护文档的可编辑区域对象
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| option | any | 是 | option为{"group":["everyone"]}或者{"users": string[] // 用户ID} |
返回值
Promise<boolean> 是否删除成功
示例
async function example(app, option) {
let success = false;
const permMark = await Application.ActiveDocument.PermMarks.item(1);
if (permMark) success = await permMark.deleteEditors(option);
}
focus
JSSDK: 1.2.21、zOffice2022.3 FP2 hotfix1 支持
定位可编辑区域
语法
permMark.focus()
permMark: 内容保护文档的可编辑区域对象
返回值
Promise<boolean> 是否定位成功
示例
async function example() {
const permMark = await Application.ActiveDocument.PermMarks.item(1);
const success = await permMark.focus();
}
getEditors
获取可编辑区域用户信息
语法
permMark.getEditors()
permMark: 内容保护文档的可编辑区域对象
返回值
Promise<string> 可编辑区域用户信息的Json字符串,有两种格式:
{"group":["everyone"]} 或 {"users": string[] // 用户ID}
示例
async function example(app) {
let success = false;
const permMark = await Application.ActiveDocument.PermMarks.item(1);
if (permMark) success = await permMark.getEditors();
}
getText
JSSDK: 1.2.21、zOffice2022.3 FP2 hotfix1 支持
获取可编辑区域的文本
语法
permMark.getText()
permMark: 内容保护文档的可编辑区域对象
返回值
Promise<string>
示例
async function example() {
const permMark = await Application.ActiveDocument.PermMarks.item(1);
const success = await permMark.getText();
}
setEditors
设置可编辑区域的可编辑成员信息
语法
permMark.setEditors(option)
permMark: 内容保护文档的可编辑区域对象
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| option | any | 是 | option为{"group":["everyone"]}或者{"users": string[] // 用户ID} |
返回值
Promise<boolean> 是否设置成功
示例
async function example(app, option) {
let success = false;
const permMark = await Application.ActiveDocument.PermMarks.item(1);
if (permMark) success = await permMark.setEditors(option);
}
setText
JSSDK: 1.2.21、zOffice2022.3 FP2 hotfix1 支持
设置可编辑区域的文本
语法
permMark.setText()
permMark: 内容保护文档的可编辑区域对象
返回值
Promise<boolean> 文本是否设置成功
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| content | string | 是 | 可编辑区域的文本 |
示例
async function example(content) {
const permMark = await Application.ActiveDocument.PermMarks.item(1);
const success = await permMark.setText(content);
}
PermMarks
JSSDK: 1.2.2、zOffice2022.3 FP2 支持
内容保护文档的可编辑区域对象集合
属性
count
可编辑区域的数量
语法
Application.ActiveDocument.PermMarks.count
Application: 文档类型应用对象
返回值
count: Promise<number>
示例
async function example() {
const count = await Application.ActiveDocument.PermMarks.count;
}
方法
item
根据参数获取可编辑区域
语法
document.PermMarks.item(key)
document: 文档类型应用对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| key | string | number | 是 | 可编辑区域name/序号(序号从1开始) |
返回值
Promise<Word.PermMark>
示例
async function example(key) {
const permMark = await Application.ActiveDocument.PermMarks.item(key);
}
add
JSSDK: 1.7.1、zOffice V7.2 FP1 支持
以Range为范围添加可编辑区域
语法
document.PermMarks.add(name, option, range, bHide)
document: 文档类型应用对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| name | string | 是 | 可编辑区域名称 |
| option | object | 是 | 可编辑区域用户信息 { "group": ["everyone"] } 或者 { "users": string[] // 用户ID } |
| range | Word.Range | 否 | 要插入可编辑区域的区域(默认在当前选区插入) |
| bHide | boolean | 否 | 是否对不可编辑的用户不可见,默认 false,即仅可见 |
返回值
Promise<Word.PermMark>
示例
async function example1() {
const bookmark = await Application.ActiveDocument.Bookmarks.item(1);
const range = await bookmark.range;
// 在指定书签区域插入一个所有人可编辑的可编辑区域,名称为pm1
const permMark1 = await Application.ActiveDocument.PermMarks.add('pm1', {"group":["everyone"]}, range);
// 在指定书签区域插入一个仅有用户 test01 可编辑的可编辑区域,其他人仅可见,名称为pm2
const permMark2 = await Application.ActiveDocument.PermMarks.add('pm2', {"users":["test01"]}, range);
// 在指定书签区域插入一个仅有用户 test01 可编辑的可编辑区域,其他人不可见,名称为pm3
const permMark3 = await Application.ActiveDocument.PermMarks.add('pm3', {"users":["test01"]}, range, true);
}
// 在当前选区插入一个仅有用户 test01 可编辑的可编辑区域,其他人仅可见,名称为pm
async function example1() {
const permMark = await Application.ActiveDocument.PermMarks.add('pm', {"users":["test01"]});
}
toJson
获取文档里包含的所有可编辑区域
语法
document.PermMarks.toJson()
document:文档类型应用对象
返回值
Promise<string[]>,可编辑区域名称的数组
示例
async function example() {
const permMarks = await Application.ActiveDocument.PermMarks.toJson();
}
Range
范围对象
属性
isCollapsed
JSSDK: 1.8.4、zOffice V7.3 FP4 支持
是否是闭合范围,即没有选中内容,只有光标
语法
range.isCollapsed
range: 范围对象
返回值
boolean
示例
async function example() {
const range = await app.ActiveDocument.getSelection();
const isCollapsed = range.isCollapsed;
}
Find
JSSDK: 1.3.3、zOffice V6.0 FP3 支持
返回一个只读Find对象,该对象包含查找操作所需的条件。
语法
range.Find
range: 范围对象
返回值
Find
示例
async function example() {
const selection = await app.ActiveDocument.getSelection();
const Find = selection.Find;
}
Bookmarks
JSSDK: 1.4.1、zOffice V7.0 FP1 支持
返回一个书签集合,该集合表示文档、 区域或所选内容中的所有书签。 此为只读属性。
语法
Range.Bookmarks
Range: 范围对象
返回值
Word.Bookmarks
示例
// 获取第一个页眉区域的书签集合
async function example() {
const section = await app.ActiveDocument.Sections.item(1);
const headers = section.Headers;
const header = await headers.item(Word.WdHeaderFooterIndex.wdHeaderFooterFirstPage);
const range = await header.range;
const bookmarks = range.Bookmarks;
}
// 获取第当前选区的书签集合
async function example() {
const range = await app.ActiveDocument.getSelection();
const bookmarks = range.Bookmarks;
}
// 获取表格中的书签集合
async function example() {
const table = await app.ActiveDocument.Tables.item(1);
const range = await table.range;
const bookmarks = range.Bookmarks;
}
PermMarks
JSSDK: 1.7.1、zOffice V7.2 FP1 支持
返回一个可编辑区域集合,该集合表示文档、 区域或所选内容中的所有可编辑区域。 此为只读属性。
语法
Range.PermMarks
Range: 范围对象
返回值
PermMarks
示例
// 获取第当前选区的可编辑区域集合
async function example() {
const range = await app.ActiveDocument.getSelection();
const permMarks = range.PermMarks;
}
// 获取表格中的可编辑区域集合
async function example() {
const table = await app.ActiveDocument.Tables.item(1);
const range = await table.range;
const permMarks = range.PermMarks;
}
Comments
JSSDK: 1.7.1、zOffice V7.2 FP1 支持
返回一个批注集合,该集合表示文档、 区域或所选内容中的所有批注。 此为只读属性。
语法
Range.Comments
Range: 范围对象
返回值
Comments
示例
// 获取当前选区的第一个批注
async function example() {
const range = await app.ActiveDocument.getSelection();
const comments = range.Comments;
const comment = await comments.item(1);
}
Bold
JSSDK: 1.5.2、zOffice V7.0 FP2支持
返回或设置范围内的加粗格式。读/写boolean值 。
语法
Range.Bold
Range: 范围对象
返回值
Bold
示例
async function example() {
const bookmark = await app.ActiveDocument.Bookmarks.item(1);
const range = await bookmark.range;
const isBold = await range.Bold;
console.log(isBold);
range.Bold = true;
}
Underline
JSSDK: 1.5.2、zOffice V7.0 FP2支持
返回或设置应用于范围内的下划线的类型。 读/写 WdUnderline 。
语法
Range.Underline
Range: 范围对象
返回值
Underline
示例
async function example() {
const bookmark = await app.ActiveDocument.Bookmarks.item(1);
const range = await bookmark.range;
const underline = await range.Underline;
console.log(underline);
range.Underline = Word.WdUnderline.wdUnderlineSingle;
}
Italic
JSSDK: 1.5.2、zOffice V7.0 FP2支持
返回或设置范围内的倾斜格式。读/写boolean值 。
语法
Range.Italic
Range: 范围对象
返回值
Italic
示例
async function example() {
const bookmark = await app.ActiveDocument.Bookmarks.item(1);
const range = await bookmark.range;
const isItalic = await range.Italic;
console.log(isItalic);
range.Italic = true;
}
Tables
JSSDK: 1.7.1、zOffice V7.2 FP1支持
返回一个table集合,该集合表示所选内容中的所有table。 此为只读属性。
Range.Tables
Range: 范围对象
返回值
Word.Tables
示例
//获取书签内的table
async function example() {
const bookmark = await app.ActiveDocument.Bookmarks.item(1);
// 书签的range
const range = await bookmark.range;
// 指定书签内的table
const tables = range.Tables;
console.log(await tables.count);
}
方法
appendText
JSSDK: 1.2.3、zOffice2022.3 FP3 支持
在指定范围后追加文字(目前仅支持Paragraph类型的range)
语法
range.appendText()
range: 范围对象
返回值
Promise<boolean>
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| content | string | 是 | 追加的文本字符串 |
示例
async function example(content) {
const paragraph = await Application.ActiveDocument.Paragraphs.item(1);
const range = await paragraph.getRange(1, 5);
const success = await range.appendText(content);
}
clear
JSSDK: 1.2.3、zOffice2022.3 FP3 支持
清除指定范围文本内容(目前仅支持Paragraph类型的range)
语法
range.clear()
range: 范围对象
返回值
Promise<boolean>
示例
async function example() {
const paragraph = await Application.ActiveDocument.Paragraphs.item(1);
const range = await paragraph.getRange(1, 5);
const success = await range.clear();
}
compare
JSSDK: 1.2.1、zOffice2022.3 FP1 支持
返回两个 Range 之间的位置关系
语法
range.compare(_range)
range: 范围对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| _range | Word.Range | 是 | 范围对象 |
返回值
Promise<Word.RangeRelation>
示例
async function example() {
const bookmark = await Application.ActiveDocument.Bookmarks.item(1);
const bRange = await bookmark.range;
const selection = await Application.ActiveDocument.getSelection();
const relation = await bRange.compare(selection);
}
getText
JSSDK: 1.2.3、zOffice2022.3 FP3 支持
获取指定范围文本内容(目前仅支持Paragraph类型的range)
语法
text.getText()
range: 范围对象
返回值
Promise<string>
示例
// 获取指定段落的部分文字内容
async function example1() {
const paragraph = await Application.ActiveDocument.Paragraphs.item(1);
const range = await paragraph.getRange(1, 5);
const text = await range.getText();
}
// 获取批注区域文字内容
async function example2() {
const comment = await Application.ActiveDocument.Comments.item(1);
const range = await comment.range;
const text = await range.getText();
}
// 获取当前选区文字内容
async function example3() {
const range = await Application.ActiveDocument.getSelection();
const text = await range.getText();
}
insertText
JSSDK: 1.2.3、zOffice2022.3 FP3 支持
在指定范围指定偏移位置插入文本(目前仅支持Paragraph类型的range)
语法
range.insertText(offset, content)
range: 范围对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| offset | number | 是 | 偏移量 |
| content | string | 是 | 插入的文本字符串 |
返回值
Promise<boolean>
示例
// 在段落内指定位置插入内容
async function example1() {
const paragraph = await Application.ActiveDocument.Paragraphs.item(1);
const range = await paragraph.getRange(1, 5);
const success = await range.insertText(0, "插入内容");
}
// 在批注区域开头插入内容
async function example2() {
const comment = await Application.ActiveDocument.Comments.item(1);
const range = await comment.range;
const success = await range.insertText(0, "插入内容");
}
// 在当前选区开头插入内容
async function example3() {
const range = await Application.ActiveDocument.getSelection();
const success = await range.insertText(0, "插入内容");
}
setText
JSSDK: 1.2.3、zOffice2022.3 FP3 支持
设定指定范围为指定文本(目前仅支持Paragraph类型的range)
语法
range.setText(content)
range: 范围对象
返回值
Promise<boolean>
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| content | string | 是 | 指定文本 |
示例
// 设置段落部分区域文字内容
async function example1() {
const paragraph = await Application.ActiveDocument.Paragraphs.item(1);
const range = await paragraph.getRange(1, 5);
const success = await range.setText("替换内容");
}
// 设置批注区域文字内容
async function example2() {
const comment = await Application.ActiveDocument.Comments.item(1);
const range = await comment.range;
const text = await range.setText("替换内容");
}
// 设置当前选区文字内容
async function example3() {
const range = await Application.ActiveDocument.getSelection();
const text = await range.setText("替换内容");
}
getHtml
JSSDK: 1.7.2、zOffice V7.2 FP2支持
获取range的HtmlString
语法
range.getHtml()
返回值
htmlDom
示例
async function example() {
const bookmark1 = await app1.ActiveDocument.Bookmarks.item(1);
const range1 = await bookmark1.range;
const html = await range1.getHtml();
}
setHtml
JSSDK: 1.7.2、zOffice V7.2 FP2支持
传入htmlString,粘贴到指定的range位置
语法
range.setHtml(html)
返回值
Range:粘贴到的位置
示例
async function example() {
const bookmark1 = await app1.ActiveDocument.Bookmarks.item(1);
const range1 = await bookmark1.range;
const html = await range1.getHtml();
const bookmark2 = await app2.ActiveDocument.Bookmarks.item(1);
const range2 = await bookmark2.range;
await range2.setHtml(html);
}
scrollIntoView
JSSDK: 1.9.3、zOffice V8.0 FP3支持
视图滚动到该区域
语法
range.scrollIntoView()
返回值
Promise<boolean>
示例
// 视图滚动到目标表格位置
async function example() {
const table = await app1.ActiveDocument.Tables.item(1);
const range = await table.range;
const success = await range.scrollIntoView();
}
Revision
JSSDK: 1.2.1、zOffice2022.3 FP1 支持
代表由修订标记所标记的修改
属性
author
返回指定的修订的用户的名称。
语法
revision.author
revision: 修订对象
返回值
author: string
示例
async function example() {
const revisions = await Application.ActiveDocument.Revisions;
const revision = await revisions.item(1);
const author = revision.author;
}
creator
返回指定的修订的用户的ID
语法
revision.creator
revision: 修订对象
返回值
creator: string
示例
async function example() {
const revisions = await Application.ActiveDocument.Revisions;
const revision = await revisions.item(1);
const author = revision.creator;
}
date
修订的日期和时间。
语法
revision.date
revision: 修订对象
返回值
date: string
示例
async function example() {
const revisions = await Application.ActiveDocument.Revisions;
const revision = await revisions.item(1);
const date = revision.date;
}
isStyle
是否是修改样式的修订。
语法
revision.isStyle
revision: 修订对象
返回值
isStyle: boolean
示例
async function example() {
const revisions = await Application.ActiveDocument.Revisions;
const revision = await revisions.item(1);
const isStyle = revision.isStyle;
}
range
JSSDK: 1.3.0、zOffice V6 支持
返回一个 Range 对象,该对象表示一个修订标记内包含的文档部分。
语法
revision.range
revision: 修订对象
返回值
Promise<Range>
示例
async function example() {
const revisions = await Application.ActiveDocument.Revisions;
const revision = await revisions.item(1);
const range = await revision.range;
}
type
返回修订的类型。
语法
revision.type
revision: 修订对象
返回值
type: Word.RevisionType[]
示例
async function example() {
const revisions = await Application.ActiveDocument.Revisions;
const revision = await revisions.item(1);
const type = revision.type;
}
方法
accept
接受指定修订、删除修订标记并将更改合并到文档中。
语法
revision.accept()
revision: 修订对象
返回值
无
示例
async function example() {
const revisions = await Application.ActiveDocument.Revisions;
const revision = await revisions.item(1);
await revision.accept();
}
reject
拒绝接受指定的修订。将删除修订标记,不改变原文。
语法
revision.reject()
revision: 修订对象
返回值
无
示例
async function example() {
const revisions = await Application.ActiveDocument.Revisions;
const revision = await revisions.item(1);
await revision.reject();
}
Revisions
JSSDK: 1.3.0、zOffice V6 支持
由修订标记所标记的修改的集合。
属性
count
修订数量。
语法
Revisions.count
返回值
Promise<number>
示例
async function example() {
const revisions = await Application.ActiveDocument.Revisions;
const count = await revisions.count;
}
方法
acceptAll
接受所有更改。
语法
Revisions.acceptAll()
返回值
无
示例
async function example() {
const revisions = await Application.ActiveDocument.Revisions;
await revisions.acceptAll();
}
item
返回集合中的单个修订对象。
语法
Revisions.item(index)
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| index | number | 是 | 修订序号(序号从1开始) |
返回值
Promise<Word.Revision>
示例
async function example() {
const revisions = await Application.ActiveDocument.Revisions;
const revision = await revisions.item(1);
}
rejectAll
拒绝所有更改。
语法
Revisions.rejectAll()
返回值
无
示例
async function example() {
const revisions = await Application.ActiveDocument.Revisions;
await revisions.rejectAll();
}
toJson
获取文档里包含的所有修订。
语法
Revisions.toJson()
返回值
Promise<Object[]>,修订信息的数组,具体信息如下:
| 属性 | 数据类型 | 说明 |
|---|---|---|
| author | string | 用户名称 |
| date | string | 修订的日期和时间 |
| type | Word.RevisionType | 修订的类型 |
| isStyle | boolean | 是否是修改样式的修订 |
示例
async function example() {
const revisions = await Application.ActiveDocument.Revisions;
const json = await revisions.toJson();
}
Row
JSSDK: 1.2.0、zOffice2022.3 支持
表格行。
属性
range
JSSDK: 1.7.1、zOffice V7.2 FP1 支持
获取表格行范围
语法
Row.range
Row: 表格行对象
返回值
Promise<Word.Range>
示例
async function example() {
const table = await Application.ActiveDocument.Tables.item(1);
const row = await table.Rows.item(1);
const range = await row.range;
}
Cells
JSSDK: 1.3.0、zOffice V6 支持
返回一个 Cells集合,该集合代表表格行中的所有单元格。
语法
row.Cells
row:表格行对象
返回值
Promise< Word.Cells>
示例
async function example() {
const table = await Application.ActiveDocument.Tables.item(1);
const row = await table.Rows.item(1);
const Cells = row.Cells;
}
index
JSSDK: 1.3.0、zOffice V6 支持
行号。
语法
row.index
row:表格行对象
返回值
Promise< number>
示例
async function example() {
const table = await Application.ActiveDocument.Tables.item(1);
const row = await table.Rows.item(1);
const index = await row.index;
}
方法
delete
JSSDK: 1.3.0、zOffice V6 支持
删除行。
语法
row.delete()
row: 行对象
返回值
Promise<boolean> 是否删除成功
示例
async function example() {
const table = await Application.ActiveDocument.Tables.item(1);
const row = await table.Rows.item(1);
const result = await row.delete();
}
Rows
JSSDK: 1.3.0、zOffice V6 支持
指定表格行的集合。
属性
count
行数量。
语法
Rows.count
返回值
Promise<number>
示例
async function example() {
const table = await Application.ActiveDocument.Tables.item(1);
const row = await table.Rows.count;
}
方法
add
插入行。
语法
Rows.add(index, cnt, isBefore)
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| index | number | 是 | 行序号(从1开始) |
| cnt | number | 是 | 插入数量 (从1开始, 最大不超过200) |
| isBefore | boolean | 是 | 布尔值 (true: 在上方插入行;false:在下方插入行) |
返回值
Promise<boolean> 是否插入成功
示例
async function example(index, cnt, isBefore) {
const table = await Application.ActiveDocument.Tables.item(1);
const rows = await table.Rows;
const success = await rows.add(index, cnt, isBefore);
}
deleteRows
删除指定行。
语法
Rows.deleteRows(index, cnt, isBefore)
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| index | number | 是 | 行序号(从1开始) |
| cnt | number | 否 | 删除数量 (默认为1行) |
| isBefore | boolean | 否 | 布尔值 (true: 往上方删除行;false:往下方删除行,默认为false) |
返回值
Promise<boolean>
示例
async function example(index, cnt, isBefore) {
const table = await Application.ActiveDocument.Tables.item(1);
const success = await table.Rows.deleteRows(index, cnt, isBefore);
}
item
根据参数获取表格行。
语法
Rows.item(index)
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| index | number | 是 | 行序号(从1开始) |
返回值
Promise<Word.Row>
示例
async function example(index, cnt, isBefore) {
const table = await Application.ActiveDocument.Tables.item(1);
const row = await table.Rows.item(1);
}
Shape
JSSDK: 1.3.1、zOffice V6.0 FP1 支持
代表绘图层中的对象,例如自选图形、任意多边形、OLE 对象、ActiveX 控件或图片。 Shape 对象是 Shapes 集合的成员,该集合包括文档主文章的所有形状。(目前仅支持浮动图片)
属性
name
返回指定形状对象的名称。 只读 String 类型。
语法
Shape.name
返回值
Promise<string>
示例
async function example() {
const shape = await Application.ActiveDocument.Shapes.item(1);
const name = await shape.name;
}
方法
setName
JSSDK: 1.4.0、zOffice V6.1 支持
设置指定形状对象的名称。
语法
Shape.setName(name)
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| name | string | 是 | 形状对象的名称 |
返回值
Promise<boolean>
示例
async function example() {
const shape = await Application.ActiveDocument.Shapes.item(1);
const success = await shape.setName("浮动签章");
}
delete
删除指定的图形节点。
语法
Shape.delete()
返回值
Promise<boolean>
示例
async function example() {
const shape = await Application.ActiveDocument.Shapes.item(1);
const success = await shape.delete();
}
focus
JSSDK: 1.4.0、zOffice V6.1 支持
定位浮动图片
语法
Shape.focus()
Shape:浮动图片对象
返回值
Promise<boolean> 是否定位成功
示例
async function example() {
const shape = await Application.ActiveDocument.Shapes.item(1);
const success = await shape.focus();
}
Shapes
JSSDK: 1.3.1、zOffice V6.0 FP1 支持
Shape 对象的集合,这些对象表示文档中的所有形状。 每个 Shape 对象都代表绘图层中的一个对象,如自选图形、任意多边形、OLE 对象或图片。(目前仅支持浮动图片)
属性
count
返回一个 Long ,该值代表集合中图形的数量。 此为只读属性。
语法
Application.ActiveDocument.Shapes.count
Application: 文档类型应用对象
返回值
Promise<number>
示例
async function example() {
const count = await Application.ActiveDocument.Shapes.count;
}
方法
addPicture
在绘图画布上添加一幅图片,返回一个 Shape 对象(默认添加到当前光标位置)
语法
Application.ActiveDocument.Shapes.addPicture(file, left, top, width, height, range, wdWrapType)
Application: 文档类型应用对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| file | File | 是 | 图片的文件对象(限10MB)。 |
| left | number | 否 | 新图片的左边缘相对于绘图画布的位置,以磅为单位。(暂不支持) |
| top | number | 否 | 新图片的上边缘相对于绘图画布的位置,以磅为单位。(暂不支持) |
| width | number | 否 | 图片的宽度,以磅为单位。 |
| height | number | 否 | 图片的高度,以磅为单位。 |
| range | Word.Range | 否 | 指定插入图片的区域。(默认在当前选区添加) |
| wrapType | Word.WdWrapType | 否 | 环绕类型,默认为将图片放在文字前面。 |
返回值
Promise<Word.Shape>
示例
<input type="file" name="插入非嵌入式图片" id="imageInput"/>
const inputElement = document.getElementById('imageInput');
// sample1,在当前选区添加图片
inputElement.onchange = async function(width, height, wrapType) {
const shapes = await Application.ActiveDocument.Shapes;
const shape = await shapes.addPicture(inputElement.files[0], undefined, undefined, width, height, undefined, wrapType);
}
// sample2,在指定区域添加图片
inputElement.onchange = async function(width, height, wrapType) {
const shapes = await Application.ActiveDocument.Shapes;
const pm = await Application.ActiveDocument.PermMarks.item(1);
const pmRange = await pm.range;
const shape = await shapes.addPicture(inputElement.files[0], undefined, undefined, width, height, range, wrapType);
}
item
返回集合中的单个 Shape 对象。
语法
Application.ActiveDocument.Shapes.item(key)
Application: 文档类型应用对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| key | number | string | 是 | Shape 在文档中的序号(从1开始)或者其名称 |
返回值
Promise<Word.Shape>
示例
async function example() {
const Shapes = await Application.ActiveDocument.Shapes;
const shape = await Shapes.item(1);
}
async function example() {
const Shapes = await Application.ActiveDocument.Shapes;
const shape = await Shapes.item('签章图片.png');
}
Style
JSSDK: 1.4.0、zOffice V6.1 支持
样式对象
属性
headingLevel
返回段落的标题级别。
语法
Style.headingLevel
Style: 样式对象
返回值
Promise<Word.WdBuiltinStyle>
示例
async function example() {
const paragraph = await Application.ActiveDocument.Paragraphs.item(1);
const headingLevel = await paragraph.style.headingLevel;
}
方法
setHeadingLevel
设置标题样式
语法
Style.setHeadingLevel(level)
Application: 文档类型应用对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| level | Word.WdBuiltinStyle | 是 | 指定标题级别 |
返回值
Promise<boolean>
示例
// 给段落设置样式标题一
async function example() {
const para = await Application.ActiveDocument.Paragraphs.item(1);
await para.style.setHeadingLevel(Word.WdBuiltinStyle.wdStyleHeading1);
}
Sections
JSSDK: 1.4.1、zOffice V7.0 FP1支持
文档中的所有节对象集合。
属性
count
获取文档中所有节的总数。
语法
Sections.count
返回值
Promise<number>
示例
async function example() {
const sections = await Application.ActiveDocument.Sections;
const count = await sections.count;
}
first
获取文档中第一节。
语法
Sections.first
返回值
Promise<Word.Section>
示例
async function example() {
const sections = await Application.ActiveDocument.Sections;
const first = await sections.first;
}
last
获取文档中最后一节。
语法
Sections.last
返回值
Promise<Word.Section>
示例
async function example() {
const sections = await Application.ActiveDocument.Sections;
const last = await sections.last;
}
方法
item
代表文档中的单个节,返回Section对象
语法
Application.ActiveDocument.Sections.item(index)
Application: 文档类型应用对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| index | number | 是 | 节的序号(序号从1开始) |
返回值
Promise<Word.Section>
示例
async function example() {
const section = await Application.ActiveDocument.Sections.item(1);
}
Section
JSSDK: 1.4.1、zOffice V7.0 FP1支持
代表文档中的一节。Section 对象是 Sections的成员集合。Section 集合包含在文档中的所有各节。
属性
Headers
获取文档中当前节的所有页眉,返回 Headers对象。
语法
Sections.Headers
返回值
Promise<Word.Headers>
示例
async function example() {
const section = await Application.ActiveDocument.Sections.item(1);
const headers = section.Headers;
}
Footers
获取文档中当前节的所有页脚,返回 Footers对象。
语法
Sections.Footers
返回值
Promise<Word.Footers>
示例
async function example() {
const section = await Application.ActiveDocument.Sections.item(1);
const footers = section.Footers;
}
Table
JSSDK: 1.2.0、zOffice2022.3 支持
表格对象。
属性
range
JSSDK: 1.7.1、zOffice V7.2 FP1 支持
获取表格范围
语法
Table.range
Table: 表格对象
返回值
Promise<Word.Range>
示例
async function example() {
const table = await Application.ActiveDocument.Tables.item(1);
const range = await table.range;
}
Columns
JSSDK: 1.3.0、zOffice V6 支持
返回一个 Columns 集合,该集合代表表格中的所有列。
语法
table.Columns
table:表格对象
返回值
Promise< Word.Columns>
示例
async function example() {
const table = await Application.ActiveDocument.Tables.item(1);
const Colunms = table.Columns;
}
Rows
JSSDK: 1.3.0、zOffice V6 支持
返回一个 Rows集合,该集合代表表格中的所有行。
语法
table.Rows
table:表格对象
返回值
Promise< Word.Rows>
示例
async function example() {
const table = await Application.ActiveDocument.Tables.item(1);
const Rows = table.Rows;
}
title
JSSDK: 1.3.0、zOffice V6 支持
获取表格标题。
语法
table.title
table:表格对象
返回值
Promise< string>
示例
async function example() {
const table = await Application.ActiveDocument.Tables.item(1);
const title = await table.title;
}
方法
delete
JSSDK: 1.3.0、zOffice V6 支持
删除表格。
语法
table.delete()
table: 表格对象
返回值
Promise<boolean> 是否删除成功
示例
async function example() {
const table = await Application.ActiveDocument.Tables.item(1);
const success = await table.delete();
}
setTitle
JSSDK: 1.4.0、zOffice V6.1 支持
设置表格标题。
语法
Table.setTitle(title)
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| title | string | 是 | 表格标题 |
返回值
Promise<boolean>
示例
async function example() {
const table = await Application.ActiveDocument.Tables.item(1);
const success = await table.setTitle('表名');
}
Tables
JSSDK: 1.3.0、zOffice V6 支持
文档中所有表格对象的集合
属性
count
表格数量。
语法
Tables.count
返回值
Promise<number>
示例
async function example() {
const count = await Application.ActiveDocument.Tables.count;
}
方法
add
在当前选区或者指定区域插入一个空白表格,表格将替换该区域。
语法
Tables.add(rowNum, columnNum, option)
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| rowNum | number | 是 | 表格行数(最大为20) |
| columnNum | number | 是 | 表格列数(最大为20) |
| option | JSON | 否 | option.title 为表格标题 |
返回值
Promise<Word.Table>
示例
// 在当前选区位置插入表格
async function example1() {
const table = await Application.ActiveDocument.Tables.add(2, 2, { title: '价格表' });
}
// 在指定区域插入表格
async function example2() {
const bm = await Application.ActiveDocument.Bookmarks.item('bm1');
const range = await bm.range;
const table = await range.Tables.add(2, 2, { title: '价格表' });
}
item
根据参数获取表格对象。
语法
Tables.item(key)
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| key | string|number | 是 | 表格标题/序号(序号从1开始) |
返回值
Promise<Word.Table>
示例
async function example() {
const table = await Application.ActiveDocument.Tables.item(1);
}
Window
JSSDK: 1.2.2、zOffice2022.3 FP2 支持
返回一个 Window 对象,该对象代表当前活动窗口
属性
Zoom
文档的缩放选项 (例如,缩放比例)
语法
Application.ActiveDocument.ActiveWindow.Zoom
Application:表格应用对象
返回值
zoom: Zoom
示例
async function example() {
// 获取窗口缩放比例
const Zoom = Application.ActiveDocument.ActiveWindow.Zoom;
const percentage = await Zoom.percentage;
console.log(percentage);
}
revisionsView
JSSDK: 1.3.23、zOffice V6.0 FP2 hotfix 3 支持
返回一个 WdRevisionsView 常量,该选项指定 Word 是显示文档的原始版本还是最终版本,这些版本可能应用了修订和格式更改。 只读。(暂仅支持最终版本)
语法
Application.ActiveDocument.ActiveWindow.revisionsView
Application:表格应用对象
示例
async function example() {
const revisionsView = await Application.ActiveDocument.ActiveWindow.revisionsView;
}
showComments
JSSDK: 1.3.23、zOffice V6.0 FP2 hotfix 3 支持
获取批注的 标记状态。 只读 Boolean。
语法
Application.ActiveDocument.ActiveWindow.showComments
Application:表格应用对象
示例
async function example() {
// 目前文档中的批注是否显示
const isShow = await Application.ActiveDocument.ActiveWindow.showComments;
console.log(isShow);
}
showRevisionsAndComments
JSSDK: 1.3.23、zOffice V6.0 FP2 hotfix 3 支持
获取修订的标记状态,只读 Boolean
语法
Application.ActiveDocument.ActiveWindow.showRevisionsAndComments
Application:文字文档应用对象
false:最终模式, true:在批注框显示修订
示例
// 设置为最终模式
async function example1() {
app.ActiveDocument.ActiveWindow.showRevisionsAndComments = false;
const state = await app.ActiveDocument.ActiveWindow.showRevisionsAndComments;
console.log(state);
}
// 设置为在批注框显示修订
async function example2() {
app.ActiveDocument.ActiveWindow.showRevisionsAndComments = true;
const state = await app.ActiveDocument.ActiveWindow.showRevisionsAndComments;
console.log(state);
}
方法
setShowComments
JSSDK: 1.4.0、zOffice V6.1 支持
设置是否显示 Word 文档中的批注
语法
ActiveWindow.setShowComments(value)
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| value | boolean | 是 | 是否显示 Word 文档中的批注 |
返回值
Promise<boolean>
示例
async function example(sheetName) {
const success = await Application.ActiveDocument.ActiveWindow.setShowComments(true);
}
setShowRevisionsAndComments
JSSDK: 1.4.0、zOffice V6.1 支持
设置修订和批注的 标记状态 语法
ActiveWindow.setShowRevisionsAndComments(value)
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| value | boolean | 是 | 是否显示修订和批注标记 |
返回值
Promise<boolean>
示例
async function example(sheetName) {
const success = await Application.ActiveDocument.ActiveWindow.setShowRevisionsAndComments(true);
}
Zoom
JSSDK: 1.2.2、zOffice2022.3 FP2 支持
文档的缩放选项 (例如,缩放比例)
属性
percentage
当前文字文档/工作表的缩放比例(10% ~ 400%)
语法
Application.ActiveDocument.ActiveWindow.Zoom.percentage
Application:文档类型应用对象
返回值
Promise<number>
示例
async function example() {
const percentage = await Application.ActiveDocument.ActiveWindow.Zoom.percentage;
console.log(percentage);
}
方法
setPercentage
JSSDK: 1.4.0、zOffice V6.1 支持
设置当前文档的缩放比例(10% ~ 400%)
语法
Zoom.setPercentage(value)
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| value | number | 是 | 文档的缩放比例 |
返回值
Promise<boolean>
示例
async function example(sheetName) {
const success = await Application.ActiveDocument.ActiveWindow.Zoom.setPercentage(200);
}
Hyperlinks
JSSDK: 1.6.1、zOffice 7.1 FP1 支持
超链接对象集合
方法
add
在选区位置插入超链接
语法
document.Hyperlinks.add({ Address, TextToDisplay })
document: 文档类型应用对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| Address | string | 是 | 插入的链接地址 |
| TextToDisplay | string | 否 | 超链接展示的文本 |
返回值
Promise<void>
示例
async function example() {
const params = {
Address: 'https://example.com',
TextToDisplay: '示例超链接',
}
// 获取第一个书签
const bookmark = await Application.ActiveDocument.Bookmarks.item(1);
// 选区选中书签
await bookmark.focus();
// 在当前选区位置插入超链接
await Application.ActiveDocument.Hyperlinks.add(params);
}
WebClipboard
属性
Copy
JSSDK: 1.7.2、zOffice V7.2 FP2支持
复制内容。写入要复制的Range,然后通过Paste操作粘贴内容。
语法
WebClipboard.Copy
WebClipboard: 剪切板
返回值
Range:复制对象
示例
async function example() {
const bookmark1 = await app1.ActiveDocument.Bookmarks.item(1);
const range1 = await bookmark1.range;
app.ActiveDocument.WebClipboard.Copy = range1;
const bookmark2 = await app2.ActiveDocument.Bookmarks.item(1);
const range2 = await bookmark2.range;
app.ActiveDocument.WebClipboard.Paste = range2;
}
Paste
JSSDK: 1.7.2、zOffice V7.2 FP2支持
粘贴内容。执行过Copy操作后,通过Paste操作,粘贴到指定的位置。
语法
WebClipboard.Paste
WebClipboard: 剪切板
返回值
Range:粘贴到的位置
示例
async function example() {
const bookmark1 = await app1.ActiveDocument.Bookmarks.item(1);
const range1 = await bookmark1.range;
app.ActiveDocument.WebClipboard.Copy = range1;
const bookmark2 = await app2.ActiveDocument.Bookmarks.item(1);
const range2 = await bookmark2.range;
app.ActiveDocument.WebClipboard.Paste = range2;
}