乐于分享
好东西不私藏

【WPS JSA】遍历当前工作簿所有名称

【WPS JSA】遍历当前工作簿所有名称

大家好,我是宽吻鳄。这里是「宽吻鳄画表勒格记」——专注WPS表格硬核技巧,每期干货,让你的工作效率直线飙升!欢迎关注,咱们一起解锁更多高效技能!

在日常使用WPS表格处理数据时,在一长串公式中,常有$A$2:$G$100这样的单元格引用,时间一长或回头看,自己都记不得这个区域代表什么;或者,一个复杂的公式需要在多个地方重复使用,每次都要重新输入,既繁琐又容易出错,需要修改时,也可能因为引用多,而有遗漏。

这时,WPS表格中的“名称”功能,就像一把化繁为简的魔法钥匙,真正能帮你解决以上这些痛点。

初看“名称”功能只是一个不起眼的小工具,但它背后体现的是一种高效、清晰的工作理念。它通过“命名”这个简单动作,将不直观地址符号或公式等对象转化为有温度的、理解的业务语言。也是每一位从表格“新手”迈向“高手”的进阶之路上,不可或缺的一把钥匙。

那么,什么是WPS表格“名称”?简单来说,“名称”就是给WPS表格中特定的对象——如一个单元格区域、一个常量数值,甚至一个复杂的公式——取一个有意义、好识别、好记的“外号”。

举两个示例:

1.计算圆的面积。一般是输入公式=3.14159*B2^2。如果你先行将3.14159定义为“圆周率”,将存放半径的单元格A2定义为“半径”,那么公式就可以写成=圆周率*半径^2。

2.求和。将A1:H300定义为“一月收入”,将B20:K100定义为“二月收入”,两个月收入合计公式可写成=sum(一月收入,二月收入)。

哪个更清晰、更不容易出错,一目了然吧。

简单介绍下“名称”的几个用途非常广泛,远不止让公式“变好看”。

1.让公式更易读、更易维护:这是最基础也最重要的用途。如果定义名称时比较规范,能够实现所见即所得,能立刻理解它的含义,而不需要去追踪单元格引用。如果数据区域发生变化,也只需要在“名称管理器”中更新一次引用位置,所有使用该名称的公式都会自动更新。

2.实现快捷定位与导航:当一个工作簿包含大量数据和表格时,快速找到特定区域是个很麻烦的事。通过名称框(位于编辑栏左侧)的下拉菜单,你可以直接跳转到已命名的任何区域,实现“瞬移”。

3.实现跨工作表的“交叉引用”:现在有一张学生成绩表,有学生的姓名行(张三、李四)和学科列(语文、数学)。按下面的步骤做一下:选择数据区域;点击「公式」选项卡“定义的名称”组中点击「指定」按钮在弹出的对话框中,勾选“首行”和“最左列”,然后点击“确定”。以上操作就完成了名称的定义。你可以在其他工作表中输入公式=张数学,就可以调出张三的数学成绩了。这就是利用交叉运算符(空格)可以精准获取行与列交叉处的单元格数值,非常巧妙

4.当然,以上介绍的仅是WPS表格“名称”功能的最基础应用。在高级场景中,它还能用于创建动态数据区域、简化复杂公式,以及结合宏表函数实现更多扩展功能。由于篇幅所限不再展开,后续将设专题深入探讨。

名称的命名规则与注意事项

1.开头字符:必须以字母、汉字或下划线(_)开头。

2.禁用字符:不能包含空格,不区分大小写。

3.长度限制:最多255个字符。

4.避免冲突:名称不能与单元格引用(如B3、$C$5)相同。

5.特殊名称:Print_Area和Print_Titles是两个有特殊含义的保留名称,分别用于定义打印区域和打印标题行。

现在,要落实到如何用JSA代码管理名称了。当定义的名称越来越多时,管理好这么多的名称也不是一件易事,用JSA代码可以很轻松来实现查看名称、定义名称、删除名称等功能。除了用手工操作外,还可以用代码管理名称,给你多一种选择。

这次,先介绍用JSA代码提取当前工作簿所有名称。定义或删除名称将陆续更新。

不多说了,直接上代码。

WPS JSA】代码:

function 遍历当前工作簿所有名称() {    var workbook = Application.ActiveWorkbook;    try {        // 新建工作表        var newSheet = workbook.Worksheets.Add();        // 可选:重命名新工作表        var today = new Date();        var dateStr = today.getFullYear() +                      String(today.getMonth() + 1).padStart(2'0') +                      String(today.getDate()).padStart(2'0') +                      String(today.getSeconds()).padStart(2'0');        newSheet.Name = "名称列表_" + dateStr;        // 清除并设置前4列        const COL_COUNT = 4;        for (let i = 1; i <= COL_COUNT; i++) {            let column = newSheet.Columns.Item(i);            column.ClearContents();            column.NumberFormat = "@";            column.Font.Name = "宋体";            column.Font.Size = 11;        }        // 获取所有名称        const names = workbook.Names;        // 写入表头        const headerRow = 1;        const headers = ["编号""名称""名称引用位置""名称的值"];        for (let col = 1; col <= headers.length; col++) {            newSheet.Cells(headerRow, col).Value2 = headers[col - 1];            // 表头加粗            newSheet.Cells(headerRow, col).Font.Bold = true;        }        // 遍历所有名称写入数据        let row = 1;        for (let i = 1; i <= names.Count; i++) {            const namedRange = names.Item(i);            row++;            newSheet.Cells(row, 1).Value2 = "N" + (row - 1);            newSheet.Cells(row, 2).Value2 = namedRange.Name;            newSheet.Cells(row, 3).Value2 = "'" + namedRange.RefersTo;            // 获取名称的值            try {                let value = namedRange.RefersToRange.Value2;                if (Array.isArray(value)) {                    value = value.flat().join(", ");                }                newSheet.Cells(row, 4).Value2 = value;            } catch (e) {                newSheet.Cells(row, 4).Value2 = "无法获取值";            }            console.log(`${namedRange.Name} : ${namedRange.RefersTo}`);        }        // 自动调整列宽        for (let i = 1; i <= 4; i++) {            newSheet.Columns.Item(i).AutoFit();        }        // 激活新工作表(让用户看到)        newSheet.Activate();        // 成功提示        MsgBox(`已新建工作表"${newSheet.Name}",共遍历 ${names.Count} 个名称`64"操作成功");    } catch (error) {        console.error("Error:", error.message);        MsgBox(`出错了:${error.message}`16"错误提示");    }}

基本操作步骤:

1.打开WPS表格文件。按下 Alt + F11(或点击「开发工具」→「WPS宏编辑器」),打开WPS JSA编辑器。

2.按Ctrk+O键(不是零),导入相应js文件,就直接导入了JSA宏代码。

3.回到WPS表格界面,点击「开发工具」→「运行宏」,找到相应宏,点击「运行」即可。

往期内容推荐:

【WPS JSA】当前工作表格式设置_行高列宽等

【WPS JSA】秒删空行_当前表选择区域

【WPS JSA】秒删工作表数据区域内所有空行

什么是WPS JSA?如何调用WPS宏编辑器?

持续更新,上干货;不迷路,请多关注!

工欲善其事,必先利其器。
利器在手,天下我有。
JSA代码就是利器!
可下载示例资料,查看测试:

2026年07月11日-【WPS JSA】遍历当前工作簿所有名称-示例.zip

示例资料保留了完整代码,可进行试练,如果好用、对工作有所助益,欢迎点赞、转发分享给身边的同事和朋友。也欢迎在评论区留言实际操作效果或存在问题,我们一起研究探讨。每一次互动,都值得期待。

温馨提示:使用JSA宏代码对实际工作表进行操作前,一定一定一定做好原数据备份,防止操作不当等造成数据丢失。