目录

本文介绍在文字文档中如何对文档添加目录、获取目录数量、设置目录样式和删除目录等。

目录对象

获取文档中的所有目录对象。

  • 语法

    表达式.ActiveDocument.TablesOfContents

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

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
      //获取所有目录对象
      const tablesOfContents = await app.ActiveDocument.TablesOfContents;
    }

添加目录

  • 语法

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

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

  • 参数

    属性

    数据类型

    是否必填

    描述

    Range

    Object

    目录插入的区域。

  • Range说明

    名称

    类型

    是否必填

    描述

    Start

    Number

    设置目录的起点。

    End

    Number

    设置目录的终点。

  • 示例

    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

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

  • 示例

    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)

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

  • 参数

    属性

    数据类型

    是否必填

    描述

    Index

    Number

    目录索引。

  • 示例

    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()

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

  • 示例

    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()

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

  • 示例

    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(LowerHeadingLevel, IncludePageNumbers, TabLeader)

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

  • 参数

    属性

    数据类型

    是否必填

    描述

    LowerHeadingLevel

    Number

    可选

    显示级别,可选范围为1~9。

    IncludePageNumbers

    Boolean

    可选

    是否显示页码。

    TabLeader

    Number

    可选

    制表符前导符类型。WdTabLeader取值:

    • 0或wdTabLeaderSpaces:空格。

    • 1或wdTabLeaderDots:点。

    • 2或wdTabLeaderDashes:划线。

    • 3或wdTabLeaderLines:直线。

    • 4或wdTabLeaderHeavy:点线。

  • 示例

    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()

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

  • 示例

    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();
    }
阿里云首页 智能媒体管理 相关技术圈