全部产品

区域

区域对象

表示一个单元格、一行、一列、一个包含单个或若干连续单元格区域的选定单元格范围。

语法:

表达式.Range

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

示例:

async function example() {
  await instance.ready();

  const app = instance.Application;
  
  // 区域对象
  const range = await app.Range('A1');
}

区域子项

返回一个 Range 对象,表示区域中指定的位置。

语法:

表达式.Range.Item({ RowIndex, ColumnIndex })

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

参数:

属性

数据类型

必填

说明

RowIndex

Number

如果提供了第二个参数,则返回的单元格的相对行号。如果未提供第二个参数,则为要返回的子范围的索引

ColumnIndex

Number

要返回的单元格的相对列号

示例:

async function example() {
  await instance.ready();

  const app = instance.Application;
  
  // 区域对象
  const range = await app.Range('A1:D2');

  // 区域子项:B2
  const item1 = await range.Item(2, 2);
  await item1.Select();
}

属性

区域宽度

语法:

表达式.Range.ColumnWidth

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

示例:

async function example() {
  await instance.ready();

  const app = instance.Application;
  
  // 区域对象
  const range = await app.Range('A1:B2');

  // 区域宽度
  range.ColumnWidth = 30;
}

区域高度

语法:

表达式.Range.RowHeight

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

示例:

async function example() {
  await instance.ready();

  const app = instance.Application;
  
  // 区域对象
  const range = await app.Range('A1:B2');

  // 区域高度
  range.RowHeight = 100;
}

数量

区域的数量。

语法:

表达式.Range.Count

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

示例:

async function example() {
  await instance.ready();

  const app = instance.Application;

  // 区域对象
  const range = await app.Range('A1:B2');

  // 区域的数量
  const count = await range.Count;
  console.log(count);
}

左边距

从列 A 的左边缘到该区域的左边缘的距离。

语法:

表达式.Range.Left

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

示例:

async function example() {
  await instance.ready();

  const app = instance.Application;

  // 区域对象
  const range = await app.Range('B2');

  // 左边距
  const left = await range.Left;
  console.log(left);
}

上边距

从行 1 的上边缘到区域的上边缘之间的距离。

语法:

表达式.Range.Top

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

示例:

async function example() {
  await instance.ready();

  const app = instance.Application;

  // 区域对象
  const range = await app.Range('B2');

  // 上边距
  const top = await range.Top;
  console.log(top);
}

隐藏

行或者列的隐藏。

语法:

表达式.Range.Hidden

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

示例:

async function example() {
  await instance.ready();

  const app = instance.Application;

  // 区域对象
  const range = await app.Range('A1');

  // 获取整列
  const entireColumn = await range.Rows.EntireColumn;
  console.log(entireColumn);

  // 隐藏该列
  entireColumn.Hidden = true;
}

水平对齐方式

设置区域的水平对齐方式,设置的值可以是Enum.XlHAlign 中的值。

语法:

表达式.Range.HorizontalAlignment

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

示例:

async function example() {
  await instance.ready();

  const app = instance.Application;

  // 区域对象
  const range = await app.Range('A1');

  // 设置对齐方式:居中
  range.HorizontalAlignment = await app.Enum.XlHAlign.xlHAlignCenter;

  setTimeout( async () => {
    // 获取对齐方式
    const horizontalAlignment = await range.HorizontalAlignment;
    console.log(horizontalAlignment);
  }, 3000);
}

垂直对齐方式

设置区域的垂直对齐方式,设置的值可以是Enum.XlVAlign 中的值。

语法:

表达式.Range.VerticalAlignment

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

示例:

async function example() {
  await instance.ready();

  const app = instance.Application;

  // 区域对象
  const range = await app.Range('A1');

  // 设置对齐方式:底部对齐
  range.VerticalAlignment = await app.Enum.XlVAlign.xlVAlignBottom;

  setTimeout( async () => {
    // 获取对齐方式
    const horizontalAlignment = await range.VerticalAlignment;
    console.log(horizontalAlignment);
  }, 3000);
}

内部属性

内部属性对象

语法:

表达式.Range.Interior

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

示例:

async function example() {
  await instance.ready();

  const app = instance.Application;
  
  // 区域对象
  const range = await app.Range('A1');

  // 内部属性对象
  const interior = await range.Interior;
}

内部颜色

区域内部颜色。

语法:

表达式.Range.Interior.Color

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

示例:

async function example() {
  await instance.ready();

  const app = instance.Application;
  
  // 区域对象
  const range = await app.Range('A1');

  // 内部属性对象
  const interior = await range.Interior;

  // 设置内部颜色
  interior.Color = '#e1ff02';

  setTimeout( async () => {
    // 获取内部颜色
    const color = await interior.Color;
    console.log(color);
  }, 3000);
}

方法

激活区域

语法:

表达式.Range.Activate()

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

示例:

async function example() {
  await instance.ready();

  const app = instance.Application;
  
  // 区域对象
  const range = await app.Range('A1');

  // 激活区域 A1
  range.Activate();
}

选择区域

语法:

表达式.Range.Select()

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

示例:

async function example() {
  await instance.ready();

  const app = instance.Application;
  
  // 区域对象
  const range = await app.Range('A1');

  // 选择区域 A1
  range.Select();

  // 3 秒后选择区域 A1:D2
  setTimeout(async () => {
    const newRange = await app.Range('B1:D2');
    newRange.Select();
  }, 5000);
}

删除区域的内容

清除区域的内容。

语法:

表达式.Range.ClearContents()

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

示例:

async function example() {
  await instance.ready();

  const app = instance.Application;

  // 区域对象
  const range = await app.Range('A1:B2');

  // 清除区域的内容
  await range.ClearContents();
}

区域是否重叠

判断区域是否重叠。

语法:

表达式.Range.Contain({ Range })

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

参数:

属性

数据类型

必填

说明

Range

Range

Range 对象,另一块区域

示例:

async function example() {
  await instance.ready();

  const app = instance.Application;

  // 区域对象
  const range = await app.Range('A1:D2');

  // 第二块区域对象
  const newRange = await app.Range('A1:B4');

  // 判断是否重叠
  const contain = await range.Contain(newRange);
  console.log(contain);
}

区域引用

获取表示使用宏语言的区域引用的 String 值。

语法:

表达式.Range.Address({ RowAbsolute, ColumnAbsolute, ReferenceStyle, External, RelativeTo })

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

参数:

属性

数据类型

必填

说明

RowAbsolute

Boolean

若为 true,以绝对引用的形式返回引用的行部分。默认值为 true

ColumnAbsolute

Boolean

若为 true,以绝对引用的形式返回引用的列部分。默认值为 true

ReferenceStyle

Enum

引用样式。默认值为 xlA1,更多可看Enum.XlReferenceStyle

External

Boolean

若为 true,返回外部引用。若为 false,返回本地引用。默认值为 false

RelativeTo

Range

如果 RowAbsolute 和 ColumnAbsolute 为 false,且 ReferenceStyle 是 xlR1C1,则必须为相对引用包含一个起点。此参数是一个定义起点的 Range 对象

示例:

async function example() {
  await instance.ready();

  const app = instance.Application;
  
  // 区域对象
  const range = await app.Range('A1');

  // 获取宏语言的区域引用的 String 值
  const address1 = await range.Address();
  console.log('address1:', address1);

  const address2 = await range.Address(false, false);
  console.log('address2:', address2);

  const address3 = await range.Address(true, true, -4150);
  console.log('address3:', address3);
}

自动填充

对指定区域中的单元格执行自动填充。

语法:

表达式.Range.AutoFill({ Destination, Type })

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

参数:

属性

数据类型

默认值

必填

说明

Destination

Range

目标区域。目标区域必须包含源区域

Type

Enum

Enum.XlAutoFillType.xlFillDefault

填充类型,详细可见Enum.XlAutoFillType

示例:

async function example() {
  await instance.ready();

  const app = instance.Application;
  
  // 区域对象
  const range = await app.Range('A1:A2');

  // 要填充的单元格
  const fillRange = await app.Range('A1:A20');

  // 对指定区域中的单元格执行自动填充
  await range.AutoFill(fillRange);
}

迁移区域

对指定区域进行迁移操作。

表达式.Range.Offset({ RowOffset, ColumnOffset })

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

属性

数据类型

默认值

必填

说明

RowOffset

Number

0

区域偏移的行数:可以是正值、负值或零。正值表示向下偏移,负值表示向上偏移

ColumnOffset

Number

0

区域偏移的列数:可以是正值、负值或零。正值表示向右偏移,负值表示向左偏移

示例:

async function example() {
  await instance.ready();

  const app = instance.Application;
  
  // 区域对象
  const range = await app.Range('A1:D2');
  await range.Select();

  // 对指定区域进行迁移操作
  const newRange = await range.Offset(2, 2);
  await newRange.Select();
}

导出图片

将区域导出成图片。

语法:

表达式.Range.ToImageDataURL()

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

示例:

async function example() {
  await instance.ready();

  const app = instance.Application;

  // 区域对象
  const range = await app.Range('A1:D2');

  // 将区域导出成图片
  const img = await range.ToImageDataURL();
  console.log(img);
}

边框

边框对象

语法:

表达式.Range.Borders

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

示例:

async function example() {
  await instance.ready();

  const app = instance.Application;
  
  // 区域对象
  const range = await app.Range('A1');

  // 边框对象
  const borders = await range.Borders;
}

单个边框

单个边框对象

单个边框对象,代表单元格区域或样式的边框之一。

语法:

表达式.Range.Borders.Item(Index)

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

参数:

属性

数据类型

必填

说明

Index

Enum

Enum.XlBordersIndex

示例:

async function example() {
  await instance.ready();

  const app = instance.Application;
  
  // 区域对象
  const range = await app.Range('A1');

  // 边框对象
  const borders = await range.Borders;

  // 单个边框对象
  const border = await borders.Item(1);
}

颜色

边框颜色。

语法:

表达式.Range.Borders.Item(Index).Color

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

示例:

async function example() {
  await instance.ready();

  const app = instance.Application;
  
  // 区域对象
  const range = await app.Range('A1');

  // 边框对象
  const borders = await range.Borders;

  // 单个边框对象
  const border = await borders.Item(app.Enum.XlBordersIndex.xlDiagonalDown);

  // 获取边框颜色
  const color = await border.Color;
  console.log(color);
}

样式

边框的线条样式。

语法:

表达式.Range.Borders.Item(Index).LineStyle

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

示例:

async function example() {
  await instance.ready();

  const app = instance.Application;
  
  // 区域对象
  const range = await app.Range('A3');

  // 边框对象
  const borders = await range.Borders;

  // 单个边框对象
  const border = await borders.Item(app.Enum.XlBordersIndex.xlOutside);

  // 设置边框的线条样式
  border.LineStyle = app.Enum.XlLineStyle.xlDash;
}

粗细

边框的粗细。

语法:

表达式.Range.Borders.Item(Index).Weight

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

示例:

async function example() {
  await instance.ready();

  const app = instance.Application;
  
  // 区域对象
  const range = await app.Range('A3');

  // 边框对象
  const borders = await range.Borders;

  // 单个边框对象
  const border = await borders.Item(app.Enum.XlBordersIndex.xlOutside);

  // 设置边框的粗细
  border.Weight = app.Enum.XlBorderWeight.xlThick;
}

区域中的行,返回一个 Range 对象(可使用 Range 相关的属性、方法)。

语法:

表达式.Range.Rows

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

示例:

async function example() {
  await instance.ready();

  const app = instance.Application;
  
  // 区域对象
  const range = await app.Range('A1:B2');

  // 行对象
  const rows = await range.Rows;

  // 指定行
  const row = await rows.Item(2);

  // 选中第 2 行
  await row.Select();
}

首行

区域中第一行的行号。

语法:

表达式.Range.Row

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

示例:

async function example() {
  await instance.ready();

  const app = instance.Application;
  
  // 区域对象
  const range = await app.Range('A1:B2');

  // 区域中第一行的行号
  const row = await range.Row;
  console.log(row);
}

尾行

区域中最后一行的行号。

语法:

表达式.Range.RowEnd

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

示例:

async function example() {
  await instance.ready();

  const app = instance.Application;
  
  // 区域对象
  const range = await app.Range('A1:B2');

  // 区域中最后一行的行号
  const rowEnd = await range.RowEnd;
  console.log(rowEnd);
}

获取整行

包含指定区域的整行。

语法:

表达式.Range.EntireRow

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

示例:

async function example() {
  await instance.ready();

  const app = instance.Application;
  
  // 区域对象
  const range = await app.Range('A1');

  // 获取该区域的行
  const entireRow = range.EntireRow;

  // 选择这一行
  await entireRow.Select();
}

区域中的列,返回一个 Range 对象(可使用 Range 相关的属性、方法)。

语法:

表达式.Range.Columns

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

示例:

async function example() {
  await instance.ready();

  const app = instance.Application;
  
  // 区域对象
  const range = await app.Range('A1:B2');

  // 列对象
  const columns = await range.Columns;

  // 指定列
  const column = await columns.Item(2);

  // 选中第 2 列
  await column.Select();
}

首列

区域中第一列的列号。

语法:

表达式.Range.Column

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

示例:

async function example() {
  await instance.ready();

  const app = instance.Application;
  
  // 区域对象
  const range = await app.Range('A1:B2');

  // 区域中第一列的列号
  const column = await range.Column;
  console.log(column);
}

尾列

区域中最后一列的列号。

语法:

表达式.Range.ColumnEnd

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

示例:

async function example() {
  await instance.ready();

  const app = instance.Application;
  
  // 区域对象
  const range = await app.Range('A1:B2');

  // 区域中最后一列的列号
  const columnEnd = await range.ColumnEnd;
  console.log(columnEnd);
}

获取整列

包含指定区域的整列。

语法:

表达式.Range.EntireColumn

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

示例:

async function example() {
  await instance.ready();

  const app = instance.Application;
  
  // 区域对象
  const range = await app.Range('A1');

  // 获取该区域的行
  const entireColumn = range.EntireColumn;

  // 选择这列
  await entireColumn.Select();
}

单元格

单元格

区域中的单元格,返回一个 Range 对象(可使用 Range 相关的属性、方法)。

语法:

表达式.Range.Cells

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

示例:

async function example() {
  await instance.ready();

  const app = instance.Application;

  // 区域对象
  const range = await app.Range('A1:B2');

  // 单元格对象
  const cells = await range.Cells;

  // 指定单元格
  const cell = await cells.Item(1);
  window.cells = cells;

  // 选中第 1 个单元格
  await cell.Select();
}

单元格文本

返回格式化文本。

语法:

表达式.Range.Text

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

示例:

async function example() {
  await instance.ready();

  const app = instance.Application;

  // 区域对象
  const range = await app.Range('A1:B2');

  // 文本
  const text = await range.Text;
  console.log(text);
}

合并单元格

语法:

表达式.Range.Merge({ Across })

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

参数:

属性

数据类型

默认值

必填

说明

Across

Boolean

false

如果设置为 true,则将指定区域中每一行的单元格合并为一个单独的合并单元格

示例:

async function example() {
  await instance.ready();

  const app = instance.Application;

  // 区域对象
  const range = await app.Range('A1:D2');

  // 合并单元格
  await range.Merge();
}

单元格合并区域

单元格的合并区域。

语法:

表达式.Range.MergeArea

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

示例:

async function example() {
  await instance.ready();

  const app = instance.Application;

  // 区域对象
  const range = await app.Range('A1:D2');

  // 合并单元格
  await range.Merge();

  // 页面加载合并后,5 秒内点击空白区域,5 秒后自动选择该区域
  setTimeout( async () => {
    // 单元格的合并区域
    const mergeArea = await range.MergeArea;
    mergeArea.Select();
  }, 5000);
}

是否有合并区域

区域内是否存在合并的单元格。

语法:

表达式.Range.MergeCells

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

示例:

async function example() {
  await instance.ready();

  const app = instance.Application;

  // 区域对象
  const range = await app.Range('A1:D2');

  // 合并单元格
  await range.Merge();

  // 区域内是否存在合并的单元格
  const mergeCells = await range.MergeCells;
  console.log(mergeCells);
}

字体

字体对象

语法:

表达式.Range.Font

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

示例:

async function example() {
  await instance.ready();

  const app = instance.Application;
  
  // 区域对象
  const range = await app.Range('A1');

  // 字体对象
  const font = range.Font;
}

字体大小

字体大小设置和获取。

语法:

表达式.Range.Font.Size

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

示例:

async function example() {
  await instance.ready();

  const app = instance.Application;
  
  // 区域对象
  const range = await app.Range('A1');

  // 字体对象
  const font = range.Font.Size;

  // 设置字体大小
  font.Size = 30;

  // 获取字体大小
  const size = await font.Size;
  console.log(size);
}

评论

添加评论

语法:

表达式.Range.AddComment({ Text })

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

参数:

属性

数据类型

必填

说明

Text

String

评论文本

示例:

async function example() {
  await instance.ready();

  const app = instance.Application;
  
  // 区域对象
  const range = await app.Range('A1');

  // 给 A1 区域添加评论
  range.AddComment('WebOffice');
}

清除评论

清除区域的评论。

语法:

表达式.Range.ClearComments()

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

示例:

async function example() {
  await instance.ready();

  const app = instance.Application;

  // 区域对象
  const range = await app.Range('A1:B2');

  // 清除区域的评论
  await range.ClearComments();
}

公式

公式

以 A1 样式表示法表示的对象的隐式交叉的公式。

表达式.Range.Formula

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

示例:

async function example() {
  await instance.ready();

  const app = instance.Application;

  // 区域对象
  const range = await app.Range('A2');

  // 设置公式:A2 = A1 + B1
  range.Formula = '=A1+B1';
}

数组公式

返回或设置区域的数组公式。

语法:

表达式.Range.FormulaArray

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

示例:

async function example() {
  await instance.ready();

  const app = instance.Application;

  // 区域对象
  const range = await app.Range('A2:B2');

  // 设置公式:A2 到 B2 的值为 A1 + B1 的和
  range.FormulaArray = '=Sum(A1:B1)';
  
  // 获取该公式
  const formulaArray = await range.FormulaArray;
  console.log(formulaArray);
}

条件格式

条件格式对象

代表一个区域内所有条件格式的集合。

语法:

表达式.Range.FormatConditions

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

示例:

async function example() {
  await instance.ready();

  const app = instance.Application;
  
  // 区域对象
  const range = await app.Range('A1');

  // 条件格式对象
  const formatConditions = await range.FormatConditions;
}

添加条件格式

代表一个区域内所有条件格式的集合。

语法:

表达式.Range.FormatConditions.Add({ Type, Operator, Formula1, Formula2 })

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

参数:

属性

数据类型

必填

说明

Type

Enum

指定条件格式是基于单元格值还是基于表达式,详细可见Enum.XlFormatConditionType

Operator

Number

条件格式运算符,可以是 XlFormatConditionOperator 常量之一,详细可见Enum.XlFormatConditionOperator

Formula1

Number

与条件格式关联的值或表达式。可为常量值、字符串值、单元格引用或公式

Formula2

Number

运算符为 xlBetween 或 xlNotBetween 时,与条件格式第二部分相关联的值或表达式(否则, 将忽略此参数)。可以是常量值、字符串值、单元格引用或公式

示例:

async function example() {
  await instance.ready();

  const app = instance.Application;
  
  // 区域对象
  const range = await app.Range('A4:D5');

  // 选择区域
  await range.Select();

  // 设置公式
  range.Formula = 'WebOffice';

  // 条件格式对象
  const formatConditions = await range.FormatConditions;

  // 添加条件格式
  formatConditions.Add(
    app.Enum.XlFormatConditionType.xlExpression,
    undefined,
    '=D1=1',
  );
}

数据有效性

数据有效性对象

代表工作表区域的数据有效性规则。

语法:

表达式.Range.Validation

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

示例:

async function example() {
  await instance.ready();

  const app = instance.Application;
  
  // 区域对象
  const range = await app.Range('A1');

  // 数据有效性对象
  const validation = await range.Validation;
}

添加数据验证

新增数据有效性规则。

语法:

表达式.Range.Validation.Add({ Type, Operator, Formula1, Formula2 })

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

参数:

属性

数据类型

必填

说明

Type

Enum

验证警报样式,可以是Enum.XlDVType 中的值

Operator

Enum

数据验证运算符,可以是Enum.XlFormatConditionOperator 中的值

Formula1

String

数据验证公式中的第一部分,值不得超过 255 个字符

Formula2

String

当 Operator 参数为 xlBetween 或 xlNotBetween 时, 数据验证等式的第二部分(否则, 将忽略此参数)

示例:

async function example() {
  await instance.ready();

  const app = instance.Application;
  
  // 区域对象
  const range = await app.Range('A1');

  // 数据有效性对象
  const validation = await range.Validation;

  // 添加数据验证
  await validation.Add({
    Type: app.Enum.XlDVType.xlValidateWholeNumber,
    Operator: app.Enum.XlFormatConditionOperator.xlBetween,
    Formula1: '1',
    Formula2: '5',
  });
}

修改数据验证

修改数据有效性规则。

语法:

表达式.Range.Validation.Modify({ Type, Operator, Formula1, Formula2 })

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

参数:

属性

数据类型

必填

说明

Type

Enum

验证警报样式,可以是Enum.XlDVType 中的值

Operator

Enum

数据验证运算符,可以是Enum.XlFormatConditionOperator 中的值

Formula1

String

数据验证公式中的第一部分,值不得超过 255 个字符

Formula2

String

当 Operator 参数为 xlBetween 或 xlNotBetween 时, 数据验证等式的第二部分(否则, 将忽略此参数)

示例:

async function example() {
  await instance.ready();

  const app = instance.Application;
  
  // 区域对象
  const range = await app.Range('A1');

  // 数据有效性对象
  const validation = await range.Validation;

  // 添加数据验证
  await validation.Add({
    Type: app.Enum.XlDVType.xlValidateWholeNumber,
    Operator: app.Enum.XlFormatConditionOperator.xlBetween,
    Formula1: '1',
    Formula2: '5',
  });

  // 10 秒后修改规则
  setTimeout( async () => {
    await validation.Modify({
      Type: app.Enum.XlDVType.xlValidateWholeNumber,
      Operator: app.Enum.XlFormatConditionOperator.xlNotBetween,
      Formula1: '1',
      Formula2: '5',
    });
  }, 10000);
}

删除数据验证

删除数据有效性规则。

语法:

表达式.Range.Validation.Delete()

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

示例:

async function example() {
  await instance.ready();

  const app = instance.Application;
  
  // 区域对象
  const range = await app.Range('A1');

  // 数据有效性对象
  const validation = await range.Validation;

  // 添加数据验证
  await validation.Add({
    Type: app.Enum.XlDVType.xlValidateWholeNumber,
    Operator: app.Enum.XlFormatConditionOperator.xlBetween,
    Formula1: '1',
    Formula2: '5',
  });

  // 5 秒后删除规则
  setTimeout( async () => {
    await validation.Delete();
  }, 10000);
}