跳到主要内容

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)

参数

属性数据类型必填说明
cursorContextobject文档光标状态

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)

参数

属性数据类型必填说明
paramsstring多个值以分号相隔

返回值

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的版本

属性数据类型说明
versionstringjson数据版本
dataany[]书签区域内容的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: 书签对象

参数

属性数据类型必填说明
htmlStringstringHtml结构

返回值

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> 文本是否设置成功

参数

属性数据类型必填说明
contentstring书签位置的文本

示例

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:设置失败)

参数

属性数据类型必填说明
contentany[]书签区域内容的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: 书签对象

参数

属性数据类型必填说明
candidatesstring[]该书签对应的预设值数组

返回值

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:文档类型应用对象

参数

属性数据类型必填说明
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();
}

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: 单元格对象

参数

属性数据类型必填说明
htmlStringstring单元格的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: 单元格对象

参数

属性数据类型必填说明
contentstring文本内容

返回值

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)

参数

属性数据类型必填说明
indexnumber单元格序号(从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)

参数

属性数据类型必填说明
indexnumber列序号(从1开始)
cntnumber插入数量 (从1开始, 最大不超过50)
isBeforeboolean布尔值 (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)

参数

属性数据类型必填说明
indexnumber列序号(从1开始)
cntnumber删除数量 (默认为1)
isBeforeboolean布尔值 (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)

参数

属性数据类型必填说明
indexnumber列序号(从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)

参数

属性数据类型必填说明
hideboolean是否隐藏

返回值

示例

// 隐藏文档中第一个批注
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)

参数

属性数据类型必填说明
colorstring十六进制颜色码

返回值

示例

// 设置文档中第一个批注的批注标记颜色为红色
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)

参数

属性数据类型必填说明
textstring批注内容
rangeWord.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)

参数

属性数据类型必填说明
indexnumber批注在集合中的序号

返回值

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)

多个模式用 “ | ” 连接

参数

属性数据类型必填说明
typenumber传入保护类型,具体值参照Word.ProtectionType枚举值(只有修订保护类型可以和其他保护类型同时设置,其他保护类型只能单独设置)
docPermissionWord.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)

参数

属性数据类型必须说明
formatstring另存为文件类型。目前仅支持pdf
namestring不带有后缀的文件名。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:文档类型应用对象

参数

属性数据类型必填说明
rangeWord.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:文档类型应用对象

参数

属性数据类型必填说明
optionanyoption.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: 查找操作的执行条件对象。

参数

属性数据类型必填说明
findTextstring要查找的文本
matchCaseboolean是否区分大小写
matchWholeWordboolean是否全词匹配

返回值

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: 查找操作的执行条件对象。

参数

属性数据类型必填说明
findTextstring要搜索的文本
showHighlightboolean是否高亮显示搜索结果,默认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: 字体对象

参数

属性数据类型必填说明
SizenumberSize >= 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)

参数

属性数据类型必填说明
keyWord.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);
}

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)

参数

属性数据类型必填说明
keyWord.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);
}

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: 文档类型应用对象

参数

属性数据类型必填说明
fileFile图片的文件对象(限10MB)
rangeWord.Range区域位置(默认在当前选区插入)
bReplaceboolean是否替换区域内容(默认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: 文档类型应用对象

参数

属性数据类型必填说明
keynumberInlineShape 在文档中的序号位置(从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: 文档类型应用对象

参数

属性数据类型必填说明
keynumber|stringnumber: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: 段落对象

参数

属性数据类型必填说明
contentstring追加的纯文字文本内容

返回值

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: 段落对象

参数

属性数据类型必填说明
startOffsetnumber偏移量(默认为0,两个参数都不传时返回整个段落的range)
lengthnumber要获取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: 段落对象

参数

属性数据类型必填说明
startOffsetnumber偏移量(从0开始,默认为0)
lengthnumber要获取内容的长度(不传或传0时,获取 startOffset 之后的所有内容)
optionsobject额外参数

options结构

属性数据类型必填说明
listSymbolboolean是否返回编号,默认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>

参数

属性数据类型必填说明
contentstring添加的纯文本字符串

示例

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: 文档类型应用对象

参数

属性数据类型必填说明
keynumber | 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:文档类型应用对象

参数

属性数据类型必填说明
textstring插入段落的纯文本文字内容
indexnumber段落序号(从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: 内容保护文档的可编辑区域对象

属性数据类型必填说明
optionanyoption为{"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: 内容保护文档的可编辑区域对象

属性数据类型必填说明
optionanyoption为{"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: 内容保护文档的可编辑区域对象

属性数据类型必填说明
optionanyoption为{"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> 文本是否设置成功

参数

属性数据类型必填说明
contentstring可编辑区域的文本

示例

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: 文档类型应用对象

参数

属性数据类型必填说明
keystring | 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: 文档类型应用对象

参数

属性数据类型必填说明
namestring可编辑区域名称
optionobject可编辑区域用户信息 { "group": ["everyone"] } 或者 { "users": string[] // 用户ID }
rangeWord.Range要插入可编辑区域的区域(默认在当前选区插入)
bHideboolean是否对不可编辑的用户不可见,默认 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>

参数

属性数据类型必填说明
contentstring追加的文本字符串

示例

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: 范围对象

参数

属性数据类型必填说明
_rangeWord.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: 范围对象

参数

属性数据类型必填说明
offsetnumber偏移量
contentstring插入的文本字符串

返回值

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>

参数

属性数据类型必填说明
contentstring指定文本

示例

// 设置段落部分区域文字内容
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)

参数

属性数据类型必填说明
indexnumber修订序号(序号从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[]>,修订信息的数组,具体信息如下:

属性数据类型说明
authorstring用户名称
datestring修订的日期和时间
typeWord.RevisionType修订的类型
isStyleboolean是否是修改样式的修订

示例

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)

参数

属性数据类型必填说明
indexnumber行序号(从1开始)
cntnumber插入数量 (从1开始, 最大不超过200)
isBeforeboolean布尔值 (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)

参数

属性数据类型必填说明
indexnumber行序号(从1开始)
cntnumber删除数量 (默认为1行)
isBeforeboolean布尔值 (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)

参数

属性数据类型必填说明
indexnumber行序号(从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)

参数

属性数据类型必填说明
namestring形状对象的名称

返回值

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: 文档类型应用对象

参数

属性数据类型必填说明
fileFile图片的文件对象(限10MB)。
leftnumber新图片的左边缘相对于绘图画布的位置,以磅为单位。(暂不支持)
topnumber新图片的上边缘相对于绘图画布的位置,以磅为单位。(暂不支持)
widthnumber图片的宽度,以磅为单位。
heightnumber图片的高度,以磅为单位。
rangeWord.Range指定插入图片的区域。(默认在当前选区添加)
wrapTypeWord.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: 文档类型应用对象

参数

属性数据类型必填说明
keynumber | stringShape 在文档中的序号(从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: 文档类型应用对象

参数

属性数据类型必填说明
levelWord.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: 文档类型应用对象

参数

属性数据类型必填说明
indexnumber节的序号(序号从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)

参数

属性数据类型必填说明
titlestring表格标题

返回值

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)

参数

属性数据类型必填说明
rowNumnumber表格行数(最大为20)
columnNumnumber表格列数(最大为20)
optionJSONoption.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)

参数

属性数据类型必填说明
keystring|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)

参数

属性数据类型必填说明
valueboolean是否显示 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)

参数

属性数据类型必填说明
valueboolean是否显示修订和批注标记

返回值

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)

参数

属性数据类型必填说明
valuenumber文档的缩放比例

返回值

Promise<boolean>

示例

async function example(sheetName) {
const success = await Application.ActiveDocument.ActiveWindow.Zoom.setPercentage(200);
}

JSSDK: 1.6.1、zOffice 7.1 FP1 支持

超链接对象集合

方法

add

在选区位置插入超链接

语法

document.Hyperlinks.add({ Address, TextToDisplay })

document: 文档类型应用对象

参数

属性数据类型必填说明
Addressstring插入的链接地址
TextToDisplaystring超链接展示的文本

返回值

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;
}