Skip to content

目录(TablesOfContents)

表示文档中的所有目录。

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

属性列表

属性说明
获取文档中目录的数量

方法列表

方法说明
插入目录
获取单个目录对象
删除目录
设置目录样式
更新整个目录
仅更新目录页码

Count

仅支持 PC 端

获取文档中目录的数量

语法

表达式.ActiveDocument.TablesOfContents.Count

表达式:文档类型应用对象

示例

js
//@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()

仅支持 PC 端

插入目录

语法

表达式.ActiveDocument.TablesOfContents.Add({ Range })

表达式:文档类型应用对象。

参数

属性类型默认值必填说明
+
Range
Range {}
目录插入的区域

示例

js
//@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()

仅支持 PC 端

获取单个目录对象

语法

表达式.ActiveDocument.TablesOfContents.Item(Index)

表达式:文档类型应用对象

示例

js
//@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()

仅支持 PC 端

删除目录

语法

表达式.ActiveDocument.TablesOfContents.Item(Index).Delete()

表达式:文档类型应用对象

示例

js
//@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()

仅支持 PC 端

设置目录样式

语法

表达式.ActiveDocument.TablesOfContents.Item(Index).SetStyles(LowerHeadingLevel, IncludePageNumbers, TabLeader)

表达式:文档类型应用对象

参数

属性数据类型默认值必填说明
LowerHeadingLevel
Number
可选
显示级别 (1-9)
IncludePageNumbers
Boolean
可选
是否显示页码
TabLeader
Number
可选
制表符前导符类型 (0-4),可以是 WdTabLeader 常量之一

示例

js
//@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()

仅支持 PC 端

更新整个目录

语法

表达式.ActiveDocument.TablesOfContents.Item(Index).Update()

表达式:文档类型应用对象

示例

js
//@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()

仅支持 PC 端

仅更新目录页码

语法

表达式.ActiveDocument.TablesOfContents.Item(Index).UpdatePageNumbers()

表达式:文档类型应用对象

示例

js
//@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()
}