表格

本文介绍文字文档如何获取表格对象、删除单个表格、设置单元格行高和列宽等。

获取表格对象

获取文档中所有表格对象。

  • 语法

    表达式.ActiveDocument.Tables

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

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
      
      //获取所有表格
      const tables = await app.ActiveDocument.Tables;
    }

插入表格

  • 语法:

    表达式.ActiveDocument.Tables.Add({ Range, NumRows, NumColumns, DefaultTableBehavior, AutoFitBehavior })

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

  • 参数

    属性

    数据类型

    是否必填

    描述

    Range

    Object

    位置信息。

    语法:表达式.ActiveDocument.Selection.Range

    NumRows

    Number

    新建表格的行数。

    NumColumns

    Number

    新建表格的列数。

    DefaultTableBehavior

    Number

    单元格是否自动调整大小以适应单元格的内容。Enum.WdDefaultTableBehavior取值范围如下:

    • 0或wdWord8TableBehavior(默认):禁用自动调整功能。

    • 1或wdWord9TableBehavior:启用自动调整功能。

    AutoFitBehavior

    Number

    设置是否根据Word(文字)自动调整表格大小。Enum.WdAutoFitBehavior取值范围如下:

    • 0或wdAutoFitFixed(默认):将表格设置为固定大小,与内容无关,不会自动调整表格大小。

    • 1或wdAutoFitContent:根据表格中包含的内容自动调整表格大小。

    • 2或wdAutoFitWindow:根据活动窗口的宽度自动调整表格大小。

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
      
      //获取所有表格
      const tables = await app.ActiveDocument.Tables;
    
      //插入表格
      await tables.Add(
        app.ActiveDocument.Selection.Range, //位置信息
        3, //新增表格的行数
        3, //新增表格的列数
        1, //启用自动调整功能
        1, //根据表格中包含的内容自动调整表格的大小
      );
    }

获取表格总个数

获取页面中总表格数量。

  • 语法

    表达式.ActiveDocument.Tables.Count

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

  • 返回值

    返回Number表示页面中总表格数量。

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
      
      //获取所有表格
      const tables = await app.ActiveDocument.Tables;
    
      //获取页面中总表格数量
      const count = await tables.Count;
      console.log(count);
    }

单个表格

获取单个表格对象

  • 语法

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

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

  • 参数

    属性

    数据类型

    是否必填

    描述

    Index

    Number

    第Index个表格。

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
      
      //获取所有表格
      const tables = await app.ActiveDocument.Tables;
    
      //获取第1个表格
      const tableOne = await tables.Item(1);
    }

删除表格

  • 语法

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

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

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
      
      //获取所有表格
      const tables = await app.ActiveDocument.Tables;
    
      //获取第1个表格
      const tableOne = await tables.Item(1);
    
      //删除第1个表格
      await tableOne.Delete();
    }

获取表格区域

  • 语法

    表达式.ActiveDocument.Tables.Item(Index).Range

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

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
      
      //获取所有表格
      const tables = await app.ActiveDocument.Tables;
    
      //获取第1个表格
      const tableOne = await tables.Item(1);
    
      //获取第1个表格的范围
      const range = await tableOne.Range;
    }

获取列对象

获取指定表格的所有列对象。

  • 语法

    表达式.ActiveDocument.Tables.Item(Index).Columns

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

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
      
      //获取所有表格
      const tables = await app.ActiveDocument.Tables;
    
      //获取第1个表格
      const tableOne = await tables.Item(1);
    
      //获取第1个表格的所有列
      const columns = tableOne.Columns;
    }

获取总列数

获取指定表格的总列数。

  • 语法

    表达式.ActiveDocument.Tables.Item(Index).Columns.Count

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

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
      
      //获取所有表格
      const tables = await app.ActiveDocument.Tables;
    
      //获取第1个表格
      const tableOne = await tables.Item(1);
    
      //获取表格所有列
      const columns = await tableOne.Columns;
    
      //获取表格总列数
      const count = await columns.Count;
      console.log(count);
    }

插入列

  • 语法

    表达式.ActiveDocument.Tables.Item(Index).Columns.Add(BeforeColumn)

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

  • 参数

    属性

    数据类型

    是否必填

    描述

    BeforeColumn

    String

    表示将会直接显示在新列右侧的Column对象。

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
      
      //获取所有表格
      const tables = await app.ActiveDocument.Tables;
    
      //获取第1个表格
      const tableOne = await tables.Item(1);
    
      //获取表格所有列
      const columns = await tableOne.Columns;
    
      //插入列
      await columns.Add(1);
    }

单列

获取单列对象

  • 语法

    表达式.ActiveDocument.Tables.Item(Index).Columns.Item(Index)

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

  • 参数

    属性

    数据类型

    是否必填

    描述

    Index

    Number

    第Index列。

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
      
      //获取所有表格
      const tables = await app.ActiveDocument.Tables;
    
      //获取第1个表格
      const tableOne = await tables.Item(1);
    
      //获取第1个表格所有列
      const columns = await tableOne.Columns;
    
      //获取表格第1列
      const columnOne = await columns.Item(1);
    }

删除指定列

  • 语法

    表达式.ActiveDocument.Tables.Item(Index).Columns.Item(Index).Delete()

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

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
      
      //获取所有表格
      const tables = await app.ActiveDocument.Tables;
    
      //获取第1个表格
      const tableOne = await tables.Item(1);
    
      //获取第1个表格所有列
      const columns = await tableOne.Columns;
    
      //获取表格第1列
      const columnOne = await columns.Item(1);
    
      //删除第1列
      columnOne.Delete();
    }

设置列宽

  • 语法

    表达式.ActiveDocument.Tables.Item(Index).Columns.Item(Index).SetWidth()

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

  • 参数

    属性

    数据类型

    是否必填

    描述

    ColumnWidth

    Number

    指定列的宽度,以磅为单位。

    RulerStyle

    Enum

    设置Word(文字)调整单元格宽度的方式。Enum.WdRulerStyle取值范围如下:

    • 0或wdAdjustNone(默认):调整一行或多行的左边缘,通过将所有列左移或右移来保持列宽度。

    • 1或wdAdjustProportional:调整第一列的左边缘,通过按比例调整指定的一行或多行中所有单元格的宽度,保持表格右边缘的位置。

    • 2或wdAdjustFirstColumn:只调整第一列的左边缘,保持其他列和表格右边缘的位置。

    • 3或wdAdjustSameWidth:调整第一列的左边缘,通过将指定的一行或多行中所有单元格的宽度设置为相同值,保持表格右边缘的位置。

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
      
      //获取所有表格
      const tables = await app.ActiveDocument.Tables;
    
      //获取第1个表格
      const tableOne = await tables.Item(1);
    
      //获取第1个表格所有列
      const columns = await tableOne.Columns;
    
      //获取表格第1列
      const columnOne = await columns.Item(1);
    
      //调整第1列宽度
      columnOne.SetWidth(50);
    }

获取列区域对象

  • 语法

    表达式.ActiveDocument.Tables.Item(Index).Columns.Item(Index).Range

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

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
      
      //获取所有表格
      const tables = await app.ActiveDocument.Tables;
    
      //获取第1个表格
      const tableOne = await tables.Item(1);
    
      //获取第1个表格所有列
      const columns = await tableOne.Columns;
    
      //获取表格第1列
      const columnOne = await columns.Item(1);
    
      //获取第1列的Range对象
      const range = columnOne.Range;
    }

获取行对象

获取指定表格的所有行对象。

  • 语法

    表达式.ActiveDocument.Tables.Item(Index).rows

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

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
      
      //获取所有表格
      const tables = await app.ActiveDocument.Tables;
    
      //获取第1个表格
      const tableOne = await tables.Item(1);
    
      //获取第1个表格的所有行
      const columns = tableOne.Rows;
    }

获取总行数

获取指定表格的总行数。

  • 语法

    表达式.ActiveDocument.Tables.Item(Index).Rows.Count

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

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
      
      //获取所有表格
      const tables = await app.ActiveDocument.Tables;
    
      //获取第1个表格
      const tableOne = await tables.Item(1);
    
      //获取第1个表格的所有行
      const rows = await tableOne.Rows;
    
      //获取表格总行数
      const count = await Rows.Count;
      console.log(count);
    }

插入行

  • 语法

    表达式.ActiveDocument.Tables.Item(Index).Rows.Add(BeforeRow)

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

  • 参数

    属性

    数据类型

    是否必填

    描述

    BeforeRow

    String

    表示将会直接显示在新行右侧的Rows对象。

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
      
      //获取所有表格
      const tables = await app.ActiveDocument.Tables;
    
      //获取第1个表格
      const tableOne = await tables.Item(1);
    
      //获取第1个表格的所有行
      const rows = await tableOne.Rows;
    
      //插入行
      await Rows.Add(1);
    }

单行

获取单行对象

  • 语法

    表达式.ActiveDocument.Tables.Item(Index).Rows.Item(Index)

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

  • 参数

    属性

    数据类型

    是否必填

    描述

    Index

    Number

    第Index行。

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
      
      //获取所有表格
      const tables = await app.ActiveDocument.Tables;
    
      //获取第1个表格
      const tableOne = await tables.Item(1);
    
      //获取第1个表格的所有行
      const rows = await tableOne.Rows;
    
      //获取表格第1行
      const rowOne = await rows.Item(1);
    }

删除指定行

  • 语法

    表达式.ActiveDocument.Tables.Item(Index).Rows.Item(Index).Delete()

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

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
      
      //获取所有表格
      const tables = await app.ActiveDocument.Tables;
    
      //获取第1个表格
      const tableOne = await tables.Item(1);
    
      //获取第1个表格的所有行
      const rows = await tableOne.Rows;
    
      //获取表格第1行
      const rowOne = await rows.Item(1);
    
      //删除第1行
      rowOne.Delete();
    }

设置行高

  • 语法

    表达式.ActiveDocument.Tables.Item(Index).Rows.Item(Index).SetHeight()

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

  • 参数

    属性

    数据类型

    是否必填

    描述

    RowHeight

    Number

    指定行的高度,以磅为单位。

    HeightRule

    Enum

    用于确定指定行高度的规规则。Enum.WdRowHeightRule取值范围如下:

    • 0或wdRowHeightAuto(默认):调整行高以适应该行中的最大高度值。

    • 1或wdRowHeightAtLeast:行高至少是最小的指定值。

    • 2或wdRowHeightExactly:行高是固定值。

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
      
      //获取所有表格
      const tables = await app.ActiveDocument.Tables;
    
      //获取第1个表格
      const tableOne = await tables.Item(1);
    
      //获取第1个表格的所有行
      const rows = await tableOne.Rows;
    
      //获取表格第1行
      const rowOne = await rows.Item(1);
    
      //调整第1行高度
      rowOne.SetHeight(50);
    }

获取行区域对象

  • 语法

    表达式.ActiveDocument.Tables.Item(Index).Rows.Item(Index).Range

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

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
      
      //获取所有表格
      const tables = await app.ActiveDocument.Tables;
    
      //获取第1个表格
      const tableOne = await tables.Item(1);
    
      //获取第1个表格的所有行
      const rows = await tableOne.Rows;
    
      //获取表格第1行
      const rowOne = await rows.Item(1);
    
      //获取第1行的Range对象
      const range = rowOne.Range;
    }

单元格

获取单元格对象

表格列、表格行、选定内容或区域中的Cell对象的集合。

  • 语法

    • 表达式.ActiveDocument.Tables.Item(Index).Rows.Item(Index).Cells

    • 表达式.ActiveDocument.Tables.Item(Index).Columns.Item(Index).Cells

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

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
      
      //获取第1个表格
      const tableOne = await app.ActiveDocument.Tables.Item(1);
    
      //获取表格第1行的第1个单元格的文本
      const rowText = await tableOne.Rows.Item(1).Cells.Item(1).Range.Text;
      console.log(rowText);
    
      //获取表格第2列的第2个单元格的文本
      const columnText = await tableOne.columns.Item(2).Cells.Item(2).Range.Text;
      console.log(columnText);
    }

单个单元格

获取单个单元格对象

  • 语法

    表达式.ActiveDocument.Tables.Item(Index).Rows.Item(Index).Cells.Item(Index)

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

  • 参数

    属性

    数据类型

    是否必填

    描述

    Index

    String

    第Index个单元格。

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
      
      //获取第1个表格
      const tableOne = await app.ActiveDocument.Tables.Item(1);
    
      //获取表格第1行的第1个单元格
      const rowText = await tableOne.Rows.Item(1).Cells.Item(1);
    }

删除单元格

  • 语法

    表达式.ActiveDocument.Tables.Item(Index).Rows.Item(Index).Cells.Item(Index).Delete()

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

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
      
      //获取第1个表格
      const tableOne = await app.ActiveDocument.Tables.Item(1);
    
      //获取表格第1行的第1个单元格
      const cellOne = await tableOne.Rows.Item(1).Cells.Item(1);
      
      //删除该单元格所在的行
      await cellOne.Delete();
    }

设置单元格行宽

  • 语法

    表达式.ActiveDocument.Tables.Item(Index).Rows.Item(Index).Cells.Item(Index).SetWidth()

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

  • 参数

    属性

    数据类型

    是否必填

    描述

    RowWidth

    Number

    指定行的宽度,以磅为单位。

    HeightRule

    Enum

    用于确定指定行高度的规则。Enum.WdRowHeightRule取值范围如下:

    • 0或wdRowHeightAuto(默认):调整行高以适应该行中的最大高度值。

    • 1或wdRowHeightAtLeast:行高至少是最小的指定值。

    • 2或wdRowHeightExactly:行高是固定值。

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
      
      //获取第1个表格
      const tableOne = await app.ActiveDocument.Tables.Item(1);
    
      //获取表格第1行的第1个单元格
      const cellOne = await tableOne.Rows.Item(1).Cells.Item(1);
      
      //调整该单元格所在的宽度
      await cellOne.SetWidth(50);
    }

设置单元格行高

  • 语法

    表达式.ActiveDocument.Tables.Item(Index).Rows.Item(Index).Cells.Item(Index).SetHeight()

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

  • 参数

    属性

    数据类型

    是否必填

    描述

    RowHeight

    Number

    指定行的高度,以磅为单位。

    HeightRule

    Enum

    用于确定指定行高度的规则。Enum.WdRowHeightRule取值范围如下:

    • 0或wdRowHeightAuto(默认):调整行高以适应该行中的最大高度值。

    • 1或wdRowHeightAtLeast:行高至少是最小的指定值。

    • 2或wdRowHeightExactly:行高是固定值。

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
    
      //获取第1个表格
      const tableOne = await app.ActiveDocument.Tables.Item(1);
    
      //获取表格第1行的第1个单元格
      const cellOne = await tableOne.Rows.Item(1).Cells.Item(1);
      
      //调整该单元格所在的高度
      await cellOne.SetHeight(50);
    }