Skip to content

目录

TablesOfContents

JSSDK: v1.1.12+、WebOffice v3.2.1+ 支持

仅支持 PC 端

TablesOfContents 表示文档中的所有目录。

需要注意的是,TableOfContentsTablesOfContents 是两个不同的对象,前者代表单个目录,后者代表目录集合(一个文档可以插入多个目录)。

语法

表达式.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()
}