本文介绍文字文档如何获取表格对象、删除单个表格、设置单元格行高和列宽等。
获取表格对象
获取文档中所有表格对象。
语法
表达式.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); }