对WPS表格数据操作,有时公式并未达到我们预期的效果,这个时候就需要使用强大的宏功能。本人作为宏小白新手将从头开始记录下整个探索的过程。探索WPS表格宏脚本语法、遍历、判断、赋值、设置边框、设置颜色等代码及GIF演示。仅限入门,并着重描述WPS中JS开发。
启用宏
工具->宏安全性->安全级调为低
文件拓展名
xlsx:常规的文件,那么它是不支持宏运行的,也无法保存;
xlsm:启用宏的工作表,可以运行宏,可以将表格另存为这种格式;
xlam:加载项,可以作为加载项给其他表格使用,类似于打包;
如何开发宏
开发入口
工具->开发工具。默认为VB编辑器,WPS还可以切换到JS环境,用更熟悉的JS语言开发,也是本文重点描述对象。
'VB的方法体
Sub 方法()
End Sub
//JS的方法体
function 方法(){
}
切换到JS环境后,点击WPS宏编辑器,就可以在右侧空白编写代码了,也可以右键->插入->模块,增加新模块
基本方法
function 方法声明(){
//代码写在这里,方法名称不能重复,可以使用英文或中文命名
//方法直接可以调用,可以传参
}
function methodA(){
console.log("I'm methodA");
let result = methodB(1,2,3);
console.log("result = " + result);
}
function methodB(arg1, arg2, arg3){
return arg1+arg2+arg3;
}
//输出-------------------
//I'm methodA
//result = 6
//-----------------------
选择
function 选择1个单元格(){
Range("C2").Select();
}
function 选择1个单元格另一种方式(){
//参数:行,列。例如2代表2行,4代表D列
Cells("2","4").Select();
}
function 选择范围(){
Range("B5:F10").Select();
}
function 选择列(){
//Range("C:C").Select();
Range("E:G").Select();
}
function 选择行(){
//Range("2:2").Select();
Range("2:4").Select();
}
遍历与判断
function 遍历(){
for(var cell of Range("B2:E6")){
cell.Value2 = "A";
cell.Interior.Color = RGB(200, 180, 180);
}
}
function 遍历2(){
for(var i = 1 ; i<=12; i++){
let A列 = Cells(i, 1);
A列.Value2=i + "月";
A列.Interior.Color = RGB(160, 180, 170);
}
}
function 判断(){
for(var i = 1 ; i<=12; i++){
if(i % 2 == 0){
let A列 = Cells(i, 1);
A列.Interior.Color = RGB(255, 255, 255);
}else{
let A列 = Cells(i, 1);
A列.Interior.Color = RGB(200, 200, 200);
}
}
}
改变文字效果
function 给范围内的文字改变效果(){
Range("B5:F10").Select();
Selection.Font.Size = 20; //字号20
Selection.Interior.Color = RGB(145, 156, 205); //背景颜色
Selection.Font.Bold = true; //加粗
}
删除数据
function 删除(){
Range("A6").Select();
Selection.Delete();
}
设置边框
选择sheet页
Sheets.Item(2).Activate(); //索引从1开始
//或
Sheets.Item("Sheet2").Activate(); //sheet完整名字
录制宏
如果有不会的代码写法,但是熟悉操作,可以使用录制宏功能来生成对应的代码,可以被其他方法调用
小结:
使用xxx.Select();后可以使用Selection.xxx进行各种设置。
不清楚的代码写法使用录制宏快速生成。
调试
在需要的地方大端点或者使用console.log输出
如何使用宏
运行宏
工具->运行宏->选择并运行
绘制按钮触发
工具->开发工具->设计模式->制作->退出设计模式->点击执行