【WPS JSA】按表单批量删除工作表

大家好,我是宽吻鳄。这里是「宽吻鳄画表勒格记」——专注WPS表格硬核技巧,每期干货,让你的工作效率直线飙升!欢迎关注,咱们一起解锁更多高效技能!
在日常使用WPS表格时,我们常会在一个工作簿内存放大量工作表,用于数据汇总、分类查看或批量打印。但随着工作表数量增多,像删除、移动、重命名这类基础操作也会变得繁琐耗时,还容易出错。
其实,凡是涉及批量或重复性操作,JSA(JavaScript for Application)宏代码都能帮你一键完成,秒速搞定!今天,重点介绍按表单批量删除工作表,这种操作方式更直观、更安全。
来吧,直接上代码。
【WPS JSA】代码:
function 按表单批量删除工作表() {//先用“提取工作簿工作表目录”代码提出所有工作表目录//分析确定并只保留待删除工作表//再执行“按表单批量删除工作表”代码let response = MsgBox("将删除表单中的所有工作表,删除不可恢复,确定吗???", 1, "请谨慎确认是否删除");if(response != 1) return; // 用户点击取消let deletedCount = 0;let wps = Application;try {// 获取当前工作簿和工作表let activeWorkbook = wps.ActiveWorkbook;let activeSheet = wps.ActiveSheet;// 获取A列名单(从A2开始到最后非空单元格)let lastRow = activeSheet.Cells(activeSheet.Rows.Count, 1).End(-4162).Row;if(lastRow < 2) {MsgBox("A列中没有找到要删除的工作表名称列表", 0, "操作终止");return;}let names = activeSheet.Range("A2:A" + lastRow).Value2;// 设置执行环境wps.DisplayAlerts = false;wps.ScreenUpdating = false;// 遍历并删除工作表for(let i = 1; i <= names.length; i++) {let sheetName = names[i-1][0];if(sheetName && sheetName.toString().trim() !== "") {try {let sheet = activeWorkbook.Sheets.Item(sheetName);if(sheet) {sheet.Delete();deletedCount++;}} catch(e) {// 忽略不存在的sheet}}}MsgBox(`已按表单删除了${deletedCount}个工作表!!!`, 0, "操作完成");return "工作表删除操作已完成";} catch(e) {MsgBox("执行出错: " + e.message, 0, "错误");return "执行出错: " + e.message;} finally {// 恢复设置wps.DisplayAlerts = true;wps.ScreenUpdating = true;}}
基本操作步骤:
方法一:
1.打开你的WPS表格文件。按下 Alt + F11(或点击「开发工具」→「WPS宏编辑器」),打开WPS JSA编辑器。
2.插入模块并粘贴代码。在编辑器左侧右键点击「项目」中的当前工作簿,选择「插入」→「模块」,将代码完整复制到右侧代码窗口中。
3.回到WPS表格界面,点击「开发工具」→「运行宏」,找到相应宏,点击「运行」即可。
方法二:
1.打开你的WPS表格文件。按下 Alt + F11(或点击「开发工具」→「WPS宏编辑器」),打开WPS JSA编辑器。
2.按Ctrk+O键,导入相应js文件,就导入js文件。
3.回到WPS表格界面,点击「开发工具」→「运行宏」,找到相应宏,点击「运行」即可。
在示例中已保留完整代码,可以动手试一试,直观感受实际效果。如果觉得好用、对工作有所助益,欢迎点个赞,或转发给身边的同事和朋友。更期待你在留言区分享使用中遇到的问题,我们一起交流探讨。每一次互动,都值得期待。让我们共同成长
往期相关内容推荐:
【WPS JSA 】一键提取工作簿中所有工作表名称,如果工作表名称与表格的标题又是一样的,那就一不小心生成了文件目录了。

夜雨聆风