主题
目录
TablesOfContents
JSSDK: v1.1.12+、WebOffice v3.2.1+ 支持
仅支持 PC 端
TablesOfContents
表示文档中的所有目录。
需要注意的是,TableOfContents
和 TablesOfContents
是两个不同的对象,前者代表单个目录,后者代表目录集合(一个文档可以插入多个目录)。
语法
表达式.ActiveDocument.TablesOfContents
表达式:文档类型应用对象
示例
//@file=base.docx
async function example() {
await instance.ready()
const app = instance.Application
const tablesOfContents = await app.ActiveDocument.TablesOfContents
}
Count
JSSDK: v1.1.12+、WebOffice v3.2.1+ 支持
仅支持 PC 端
获取文档中目录的数量
语法
表达式.ActiveDocument.TablesOfContents.Count
表达式:文档类型应用对象
示例
//@file=base.docx
async function example() {
await instance.ready()
const app = instance.Application
// 区域对象
const range = await app.ActiveDocument.Range(0, 0)
// 插入目录
await app.ActiveDocument.TablesOfContents.Add(range)
// 获取文档中目录的数量
await app.ActiveDocument.TablesOfContents.Count
}
Add()
JSSDK: v1.1.12+、WebOffice v3.2.1+ 支持
仅支持 PC 端
插入目录
语法
表达式.ActiveDocument.TablesOfContents.Add({ Range })
表达式:文档类型应用对象。
参数
属性 | 数据类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
Range | Object | 是 | 目录插入的区域 |
Range 说明
属性 | 数据类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
Start | Number | 是 | 设置目录的起点 | |
End | Number | 是 | 设置目录的终点 |
示例
//@file=base.docx
async function example() {
await instance.ready()
const app = instance.Application
// 区域对象
const range = await app.ActiveDocument.Range(0, 0)
// 插入目录
await app.ActiveDocument.TablesOfContents.Add(range)
}
Item()
JSSDK: v1.1.12+、WebOffice v3.2.1+ 支持
仅支持 PC 端
获取单个目录对象
语法
表达式.ActiveDocument.TablesOfContents.Item(Index)
表达式:文档类型应用对象
示例
//@file=base.docx
async function example() {
await instance.ready()
const app = instance.Application
// 区域对象
const range = await app.ActiveDocument.Range(0, 0)
// 插入目录
await app.ActiveDocument.TablesOfContents.Add(range)
// 获取单个目录对象
await app.ActiveDocument.TablesOfContents.Item(1)
}
Item().Delete()
JSSDK: v1.1.12+、WebOffice v3.2.1+ 支持
仅支持 PC 端
删除目录
语法
表达式.ActiveDocument.TablesOfContents.Item(Index).Delete()
表达式:文档类型应用对象
示例
//@file=base.docx
async function example() {
await instance.ready()
const app = instance.Application
// 区域对象
const range = await app.ActiveDocument.Range(0, 0)
// 插入目录
await app.ActiveDocument.TablesOfContents.Add(range)
// 删除目录
await app.ActiveDocument.TablesOfContents.Item(1).Delete()
}
Item().SetStyles()
JSSDK: v1.1.12+、WebOffice v3.2.1+ 支持
仅支持 PC 端
设置目录样式
语法
表达式.ActiveDocument.TablesOfContents.Item(Index).SetStyles(LowerHeadingLevel, IncludePageNumbers, TabLeader)
表达式:文档类型应用对象
参数
属性 | 数据类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
LowerHeadingLevel | Number | 可选 | 显示级别 (1-9) | |
IncludePageNumbers | Boolean | 可选 | 是否显示页码 | |
TabLeader | Number | 可选 | 制表符前导符类型 (0-4),可以是 WdTabLeader 常量之一 |
示例
//@file=base.docx
async function example() {
await instance.ready()
const app = instance.Application
// 区域对象
const range = await app.ActiveDocument.Range(0, 0)
// 插入目录
await app.ActiveDocument.TablesOfContents.Add(range)
// 设置目录样式
const tabLeader = app.Enum.WdTabLeader.wdTabLeaderDashes
await app.ActiveDocument.TablesOfContents.Item(1).SetStyles(
9,
true,
tabLeader
)
}
Item().Update()
JSSDK: v1.1.12+、WebOffice v3.2.1+ 支持
仅支持 PC 端
更新整个目录
语法
表达式.ActiveDocument.TablesOfContents.Item(Index).Update()
表达式:文档类型应用对象
示例
//@file=base.docx
async function example() {
await instance.ready()
const app = instance.Application
// 区域对象
const range = await app.ActiveDocument.Range(0, 0)
// 插入目录
await app.ActiveDocument.TablesOfContents.Add(range)
// 更新整个目录
await app.ActiveDocument.TablesOfContents.Item(1).Update()
}
Item().UpdatePageNumbers()
JSSDK: v1.1.12+、WebOffice v3.2.1+ 支持
仅支持 PC 端
仅更新目录页码
语法
表达式.ActiveDocument.TablesOfContents.Item(Index).UpdatePageNumbers()
表达式:文档类型应用对象
示例
//@file=base.docx
async function example() {
await instance.ready()
const app = instance.Application
// 区域对象
const range = await app.ActiveDocument.Range(0, 0)
// 插入目录
await app.ActiveDocument.TablesOfContents.Add(range)
// 仅更新目录页码
await app.ActiveDocument.TablesOfContents.Item(1).UpdatePageNumbers()
}