目录
-
- WPS JS宏
- Range对象---选区
-
- Range("A1").Value2 可读写
- Range("A1:B2").Value2 可读写
- Range("A1:B2").Formula 可读写
- Range("A1:B2,C3:D4") 多个不连续的区域
- Range("A2:B3").Borders(xlBordersIndex) 边框
- Range("A2:B3").Font 字体
- Range("A1:B2").Interior 背景
- Range("A1:B2").Cells(行数,列数) 对应行列的单元格
- Range("A1:B2").Rows 行
- Range("A1:B2").Columns 列
- Range("A2:B3").Row 区域第一个单元格在整个工作表中的行数(第几行)
- Range("A2:B3").Column 区域第一个单元格在整个工作表中的列数(第几列)
- Range("A2:B3").Insert() 插入单元格/区域
- Range("A1:B2").Delete() 删除单元格/区域
- 复制Range("A1:B2").Copy()、粘贴Range("C3").PasteSpecial()
- Range("A1:B2").Select() 选中区域
- Range("A1").CurrentRegion
- Range("C3").AddComment("批注内容") 添加批注
- Range("A1:A2").AutoFill(Range("A1:A5") 自动填充
- Range("A2:B3").Clear() 清除选区内所有单元格的内容
- Selection对象
WPS JS宏
官方文档:
WPS开放平台: https://open.wps.cn/previous/docs/client/wpsLoad
AirScript文档: https://airsheet.wps.cn/docs/api/excel/workbook/overview.html
Range对象—选区
Range()
传入的参数,可以是单个单元格"A1",也可以是某一个范围"A1:B2",也可以是某一列"A:A",只不过返回的结果有区别。同时,Range()
也可以接收两个Cells返回的单元格对象作为区域的起始单元格和结束单元格。用法参考:Range(sheet.Cells(startRow, startCol), sheet.Cells(lastRow, endCol))
。
Range(“A1”).Value2 可读写
A1单元格的值
值的类型:(number/string…)
Range(“A1:B2”).Value2 可读写
A1到B2区域内所有单元格的内容
值的类型:二维数组,Arr[r][c],其中,r代表行数-1,c代表列数-1
如果直接对一个区域进行赋值,那么会对整个区域的所有单元格全部赋上相同的值。
Range(“A1:B2”).Formula 可读写
Formula具体用法可以参考上方的Value2。不同的是,Value2取的是值,即便单元格里有公式,取的也是公式计算后的值;而Formula取的是公式本身,如果Formula取值的单元格没有公式,则取值和Value2相同。
注意:赋值的时候,如果是对有多个单元格的区域直接使用Formula赋值公式文本,例如:Range("A1:B2").Formula = "=SUM(E10:F10)"
,那么赋值不是赋相同的公式,而是会自适应赋值。A1单元格内的公式为=SUM(E10:F10)
,而B1的公式为=SUM(F10:G10)
,A2的公式为=SUM(E11:F11)
,B2的公式为=SUM(F11:G11)
。
Range(“A1:B2,C3:D4”) 多个不连续的区域
Range("A1:B2,C3:D4").Areas.Count
不连续的区域的个数,只读。
Range("A1:B2,C3:D4").Areas.Item(number)
多个不连续的区域中的第n个连续区域,参数是指第几个区域。number从1开始,不像数组索引从0开始。
通过Range("A1:B2,C3:D4").Areas.Item(number)
拿到其中的一个连续区域后,就可以使用单个连续区域的Range对象的那些API操作具体的单元格了。如:Range("A1:B2,C3:D4").Areas.Item(1).Value2
返回A1:B2区域内所有单元格的值。
后面的Range对象的举例都以多个单元格为例,若单个单元格的情况有特殊用法(如上例),则单独举例
Range(“A2:B3”).Borders(xlBordersIndex) 边框
xlBordersIndex枚举,该索引指定Borders要检索的边框,可选值如下:
xlDiagonalDown:值5,从区域中每个单元格的左上角至右下角的斜边框。
xlDiagonalUp:值6,从区域中每个单元格的左下角至右上角的斜边框。
xlEdgeBottom:值9,区域底部的水平边框,不包含区域内部单元格的底部边框。
xlEdgeLeft:值7,区域左边的竖直边框,不包含区域内部单元格的竖直边框。
xlEdgeRight:值10,区域右边的竖直边框,不包含区域内部单元格的竖直边框。
xlEdgeTop:值8,区域顶部的水平边框,不包含区域内部单元格的顶部边框。
xlInsideHorizontal:值12,区域内所有单元格的水平边框,区域以外(包括区域边界)的边框除外,
xlInsideVertical:值11,区域内所有单元格的竖直边框,区域以外(包括区域边界)的边框除外。
如果不使用xlBordersIndex参数,直接使用Borders,返回的是整个区域所有单元格的水平和竖直边框,斜边框不算。
Range("A2:B3").Borders.Weight = xlBorderWeight
设置边框粗细
xlBorderWeight:xlHairline(最细)、xlThin(细)、xlMedium(中等)、xlThick(粗)。
Range("A2:B3").Borders.LineStyle = xlLineStyle
设置边框线型
xlLineStyle:xlContinuous(默认实线)、xlDash(虚线)、xlDouble(双线)、xlSlantDashDot(删除线)、xlLineStyleNone(无边框)。
Range("A2:B3").Borders.Color = RGB(255,255,255)
可读写,读取/设置边框颜色。
如Range(“A2:B3”).Borders.Color=RGB(255,255,255)将A2到B3区域所有的水平及竖直边框颜色设置为白色。
Range(“A2:B3”).Font 字体
Range("A1:C5").Font.Bold
可读写,读取/设置字体是否加粗。值为布尔类型,为true时,字体加粗。
Range("A1:C5").Font.Color
可读写,读取/设置字体颜色。值为RGB函数创建的颜色值。
值的类型:number,范围0~16777215
颜色返回的字段都是数字,这个数字是由颜色的16进制数据转换为10进制数据得出的。
举个例子:黑色:0xFFFFFF,FFFFFF