本文介绍如何在表格文件中获取指定区域、设置区域属性和为指定区域添加数据有效性规则等功能。
区域对象
表示一个单元格、一行、一列、一个包含单个或若干连续单元格区域的选定单元格范围。
语法
表达式.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; }
设置区域水平对齐方式
语法:
表达式.Range.HorizontalAlignment
表达式:文档类型应用对象
可设置的值
字段
值
释义
xlHAlignRight
-4152
靠右对齐。
xlHAlignLeft
-4131
靠左对齐。
xlHAlignJustify
-4130
两端对齐。
xlHAlignDistributed
-4117
分散对齐。
xlHAlignCenter
-4108
居中对齐。
xlHAlignGeneral
1
按数据类型对齐。
xlHAlignFill
5
填充对齐。
xlHAlignCenterAcrossSelection
7
跨列居中对齐。
示例
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); }
设置区域垂直对齐方式
语法:
表达式.Range.VerticalAlignment
表达式:文档类型应用对象
可设置的值
字段
值
释义
xlVAlignTop
-4160
向上。
xlVAlignJustify
-4130
调整使全行排满。
xlVAlignDistributed
-4117
一起。
xlVAlignCenter
-4108
居中。
xlVAlignBottom
-4107
向下。
示例
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(); //5000 ms后选择区域B1: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
否
引用样式。
Enum.XlReferenceStyle
取值:-4150或xlR1C1:返回R1C1样式的引用。
1或xlA1(默认):返回A1样式的引用。
External
Boolean
否
默认值为false。
true:返回外部引用。
false:返回本地引用。
RelativeTo
Range
否
定义起点的Range对象。如果
RowAbsolute
和ColumnAbsolute
为false,且ReferenceStyle
为xlR1C1,则必须为相对引用包含一个起点。示例
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
取值:0或xlFillDefault(默认):确定用于填充目标区域的值和格式。
1或xlFillCopy:将源区域的值和格式复制到目标区域,如有必要可重复执行。
2或xlFillSeries:将源区域的值扩展到目标区域,形式为系列(如“1,2”扩展为“3,4,5”);将源区域的格式复制到目标区域,如有必要可重复执行。
3或xlFillFormats:只将源区域的格式复制到目标区域,如有必要可重复执行。
4或xlFillValues:只将源区域的值复制到目标区域,如有必要可重复执行。
5或xlFillDays:将星期中每天的名称从源区域扩展到目标区域;将源区域的格式复制到目标区域,如有必要可重复执行。
6或xlFillWeekdays:将工作周每天的名称从源区域扩展到目标区域;将源区域的格式复制到目标区域,如有必要可重复执行。
7或xlFillMonths:将月名称从源区域扩展到目标区域;将源区域的格式复制到目标区域,如有必要可重复执行。
8或xlFillYears:将年从源区域扩展到目标区域;将源区域的格式复制到目标区域,如有必要可重复执行。
9或xlLinearTrend:将数值从源区域扩展到目标区域,假定数字之间是加法关系(如“1,2,”扩展为“3,4,5”,假定每个数字都是前一个数字加上某个值的结果);将源区域的格式复制到目标区域,如有必要可重复执行。
10或xlGrowthTrend:将数值从源区域扩展到目标区域,假定源区域的数字之间是乘法关系(如“1,2,”扩展为“4,8,16”,假定每个数字都是前一个数字乘以某个值的结果)。将源区域的格式复制到目标区域,如有必要可重复执行。
示例
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
取值:5或xlDiagonalDown:从区域中每个单元格的左上角到右下角的边框。
6或xlDiagonalUp:从区域中每个单元格的左下角到右上角的边框。
7或xlEdgeLeft:区域左边缘的边框。
8或xlEdgeTop:区域顶部的边框。
9或xlEdgeBottom:区域底部的边框。
10或xlEdgeRight:区域右边缘的边框。
11或xlInsideVertical:区域中所有单元格的垂直边框(区域以外的边框除外)。
12或xlInsideHorizontal:区域中所有单元格的水平边框(区域以外的边框除外)。
13或xlOutside:区域中的上下左右。
14或xlInside:中间区域。
示例
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(5); }
获取边框颜色
语法
表达式.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(); //页面加载合并后,5000 ms内点击空白区域,5000 ms后自动选择该区域 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.Value
表达式:文档类型应用对象
示例
async function example() { await instance.ready(); const app = instance.Application; //区域对象 const range = await app.Range('A1'); //写入值到单元格中 range.Value = 'WebOffice'; }
字体
获取字体对象
语法
表达式.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.Font.Bold
表达式:文档类型应用对象
示例
async function example() { await instance.ready(); const app = instance.Application; //区域对象 const range = await app.Range('A1'); //字体对象 const font = range.Font; //获取字体加粗 const isBold = await font.Bold; console.log('字体是否加粗:', isBold); //设置字体加粗 font.Bold = true; }
评论
添加评论
给指定区域添加评论。
语法
表达式.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
取值:1或xlCellValue:单元格值。
2或xlExpression:表达式。
3或xlColorScale:色阶。
5或xlTop10:前10个值。
8或xlUniqueValues:唯一值。
9或xlTextString:文本字符串。
10或xlBlanksCondition:空值条件。
11或xlTimePeriod:时间段。
12或xlAboveAverageCondition:高于平均值条件。
13或xlNoBlanksCondition:无空值条件。
16或xlErrorsCondition:错误条件。
17或xlNoErrorsCondition:无错误条件。
Operator
Number
否
条件格式运算符,可以是以下常量之一,
Enum.XlFormatConditionOperator
取值:1或xlBetween:行间。只在提供了两个公式的情况下才能使用。
2或xlNotBetween:不介于。只在提供了两个公式的情况下才能使用。
3或xlEqual:等于。
4或xlNotEqual:不等于。
5或xlGreater:大于。
6或xlLess:小于。
7或xlGreaterEqual:大于或等于。
8或xlLessEqual:小于或等于。
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
取值:1或xlValidateWholeNumber:全部数值。
2或xlValidateDecimal:数值。
3或xlValidateList:值必须存在于指定列表中。
4或xlValidateDate:日期值。
5或xlValidateTime:时间值。
6或xlValidateTextLength:文本长度。
7或xlValidateCustom:使用任意公式验证数据有效性。
Operator
Enum
否
数据验证运算符。
Enum.XlFormatConditionOperator
取值:1或xlBetween:行间。只在提供了两个公式的情况下才能使用。
2或xlNotBetween:不介于。只在提供了两个公式的情况下才能使用。
3或xlEqual:等于。
4或xlNotEqual:不等于。
5或xlGreater:大于。
6或xlLess:小于。
7或xlGreaterEqual:大于或等于。
8或xlLessEqual:小于或等于。
Formula1
String
否
数据验证公式中的第一部分,取值不得超过255个字符。
Formula2
String
否
当数据验证运算符为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
取值:1或xlValidateWholeNumber:全部数值。
2或xlValidateDecimal:数值。
3或xlValidateList:值必须存在于指定列表中。
4或xlValidateDate:日期值。
5或xlValidateTime:时间值。
6或xlValidateTextLength:文本长度。
7或xlValidateCustom:使用任意公式验证数据有效性。
Operator
Enum
否
数据验证运算符。
Enum.XlFormatConditionOperator
取值:1或xlBetween:行间。只在提供了两个公式的情况下才能使用。
2或xlNotBetween:不介于。只在提供了两个公式的情况下才能使用。
3或xlEqual:等于。
4或xlNotEqual:不等于。
5或xlGreater:大于。
6或xlLess:小于。
7或xlGreaterEqual:大于或等于。
8或xlLessEqual:小于或等于。
Formula1
String
否
数据验证公式中的第一部分,取值不得超过255个字符。
Formula2
String
否
当数据验证运算符为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', }); //10000 ms后修改规则 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', }); //10000 ms后删除规则 setTimeout( async () => { await validation.Delete(); }, 10000); }