当前位置: 首页 > article >正文

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();
}

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

兴趣是最好的老师!


http://www.kler.cn/a/472650.html

相关文章:

  • VSCode Live Server 插件安装和使用
  • 【传统枪机现代枪机的功能需求】
  • 3D机器视觉的类型、应用和未来趋势
  • vscode通过ssh连接服务器实现免密登录
  • 使用JMeter玩转tidb压测
  • element输入框及表单元素自定义前缀
  • Docker 容器自动化管理之脚本(Script for Docker Container Automation Management)
  • 【linux系统之redis6】redis的安装与初始化
  • 如何隐藏 Nginx 版本号 并自定义服务器信息,提升安全性
  • 联邦学习LoRA:推理合并权重公式:以及变体
  • 如何让用户在网页中填写PDF表格?
  • 【HTML+CSS+JS+VUE】web前端教程-1-VScode开发者工具快捷键
  • uniapp使用sm4加密
  • 创建管理表
  • Linux vi/vim 编辑器:功能强大的文本处理工具
  • 力扣刷题:数组OJ篇(上)
  • C++编程等级认证学习计划day1-1
  • [python3]Excel解析库-xlwt
  • 创建型模式-工厂模式
  • 继承(6)
  • C++ 中的 const 和 constexpr: 深入对比与最佳实践
  • HTML基础入门——简单网页页面
  • 电致变色和电泳技术在低功耗显示器中大放异彩
  • 一次完成Win10下MySQL 9.1 的安装
  • 算法的五个重要特性和4个基本标准
  • 医疗可视化大屏 UI 设计新风向