Skip to content

文字组件目录操作相关 API

目录对象

ActiveDocument.TablesOfContents

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

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

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

语法

表达式.ActiveDocument.TablesOfContents

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

示例

//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  const tablesOfContents = await app.ActiveDocument.TablesOfContents
}

添加目录

ActiveDocument.TablesOfContents.Add()

插入目录

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

语法

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

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

参数

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

示例

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

获取目录数量

ActiveDocument.TablesOfContents.Count

获取文档中目录的数量

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

语法

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

单个目录对象

ActiveDocument.TablesOfContents.Item(Index)

TableOfContents 表示文档中的单个目录

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

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

语法

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

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

参数

属性类型默认值必填说明
Index
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)

  // 获取单个目录对象
  await app.ActiveDocument.TablesOfContents.Item(1)
}

更新整个目录

ActiveDocument.TablesOfContents.Item(Index).Update()

更新整个目录

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

语法

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

仅更新目录页码

ActiveDocument.TablesOfContents.Item(Index).UpdatePageNumbers()

仅更新目录页码

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

语法

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

设置目录样式

ActiveDocument.TablesOfContents.Item(Index).SetStyles()

设置目录样式

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

语法

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

删除目录

ActiveDocument.TablesOfContents.Item(Index).Delete()

删除目录

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

语法

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