WPS-JS宏快速上手

WPS JS宏注意事项

代码后面可以不写分号“ ; ”;

缩进对程序的运行影响不大,但为了易读(防止自己以后看不懂),还是乖乖写好;

代码是逐行运行的,意味着下面一行代码错了,前面的代码依然可以执行;

没有自动预编译,点击编译功能,也不会报错,只有运行时会报错;

如果在循环时,使用Var接收变量,在使用成员运算符时不会有代码提示;

同一时间,只能有一个工作表是激活状态;

如果不知道某些功能应使用哪些代码,最好用录制宏操作一遍,查看生成的代码,加以理解;

最好有一些高级编程语言的基础;

宏操作是不可以撤回的,执行前保存一下,执行后检查没问题,保存一下;

区域内容清除

箭头指向的图标用来调用宏

代码

/**
 * DeleteData_Sheet0 Macro
 * 宏由 xt_user_6 录制,时间: 2025/01/04
 * 用于删除一个范围内的内容
 */
function DeleteData_Sheet0()
{
	//选中一个单元格范围,ClearContents清除内容
	Range("D2:D200").ClearContents();
}

只粘贴值

代码

/**
 * Sheet2CopyToSheet3 Macro
 * 宏由 xt_user_6 录制,时间: 2025/01/04
 * 将一个公式生成的数据结果复制到另一个表中,只粘贴值。
 */
function Sheet2CopyToSheet3()
{
	//激活该sheet为活动工作表
	Sheets.Item("2.外协公式").Activate();
	//全选
	Cells.Select();
	//复制选择内容  如果某个单元格范围被定义(命名)应该会显示在里面
	Cells.Copy(undefined);
	//激活该sheet为活动工作表
	Sheets.Item("3.外援工时汇总表").Activate();
	//全选
	Cells.Select();
	//选择性粘贴        粘贴值         特殊粘贴:NONE              跳过空白  是否转换         
	Cells.PasteSpecial(xlPasteValues, xlPasteSpecialOperationNone, false, false);
	//粘贴完成后,显示声明关闭剪切板,防止程序Bug
	Application.CutCopyMode = false;
	//在最近使用文件中添加该文件路径,该代码对文档内容无操作
	Application.RecentFiles.Add("C:\\Users\\xt_user_6\\Desktop\\waterRPA3(自动点击)\\waterRPA\\电气二组1月3日.xlsm");
	//保存工作簿
	ActiveWorkbook.Save();
}

只粘贴值

这个是粘贴整个表,而不是其中一个区域。

/**
 * Sheet4CopyToSheet5 Macro
 * 宏由 xt_user_6 录制,时间: 2025/01/04
 * 将一个公式生成的表转化为纯文本表格(同上一功能一致)
 */
function Sheet4CopyToSheet5()
{
	//全选
	Cells.Select();
	//冗余代码
	//Range("B1").Activate();
	//复制选中的单元格
	Cells.Copy(undefined);
	//激活目标工作表
	Sheets.Item("5.报工日报").Activate();
	//全选
	Cells.Select();
	//选择性粘贴        粘贴值         特殊粘贴:NONE              跳过空白  是否转换      
	Cells.PasteSpecial(xlPasteValues, xlPasteSpecialOperationNone, false, false);
	//粘贴完成后,显示声明关闭剪切板,防止程序Bug
	Application.CutCopyMode = false;
	//在最近使用文件中添加该文件路径,该代码对文档内容无操作
	Application.RecentFiles.Add("C:\\Users\\xt_user_6\\Desktop\\waterRPA3(自动点击)\\waterRPA\\电气二组1月3日.xlsm");
	//保存工作簿
	ActiveWorkbook.Save();
}

公式结果追加到一个汇总表中

将上图内容,追加到下图箭头处,自动判断页尾。

代码

/**
 * autoCompile Macro
 * 宏由 xt_user_6 录制,时间: 2025/01/04
 * 将表6的内容重新筛选,并复制到表7的末尾。
 */
function autoCompile()
{
	//激活数据页
	Sheets.Item("6.报工明细").Activate();
	//重新应用过滤器
	ActiveSheet.AutoFilter.ApplyFilter();
	//复制选中内容
	Selection.Copy(undefined);
	//激活汇总页
	Sheets.Item("7.报工汇总").Activate();
	//将焦点移动到页首,防止下次使用时无法识别文件尾。
	Range("F1").Activate();
	
	
	//单元格Q1公式为
	//  =COUNTA(F:F)+1
	//计算F列有多少行数据,+1   从而得出工作表的页尾。
	//获取Q1单元格的值,并转换成字符串         
	//                                       将焦点转移至页尾单元格
	Range("F"+Range("Q1").Value2.toString()).Activate();
	
	
	//复制到单元格中
	Selection.PasteSpecial(xlPasteValues, xlPasteSpecialOperationNone, false, false);
	//粘贴完成后,显示声明关闭剪切板,防止程序Bug
	Application.CutCopyMode = false;
	//在最近使用文件中添加该文件路径,该代码对文档内容无操作
	//Application.RecentFiles.Add("C:\\Users\\xt_user_6\\Desktop\\waterRPA3(自动点击)\\waterRPA\\电气二组1月3日.xlsm");
	//保存文件
	ActiveWorkbook.Save();
}

目前只用到这么多,后续再有再更新。

兴趣是最好的老师!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值