【WPS JSA】提取当前文件夹下文件名目录

在WPS表格中,利用WPS JSA(WPS的JavaScript宏)提取当前文件夹下的文件名称目录,是一项非常实用的办公自动化技巧,可秒成。
一、提取文件名称目录的必要性
在日常办公中,手动整理文件目录,特别是文件有几十个、上百个或更多时,很耗时,且非常容易出错。使用WPS表格来管理文件清单就很有必要了。
1.效率提升:当需要处理成百上千个文件时,逐个手动输入文件名不仅耗时,还极易因视觉疲劳导致遗漏。通过自动化提取,可以将几分钟甚至几小时的工作一下可缩短到几秒钟。
2.建立可检索的档案索引:将文件名导入表格后,可以利用WPS表格强大的筛选、排序和查找功能,将零散的文件系统转化为有效的数据档案。
3.批量操作的基础:提取出的文件名目录可以作为后续批量操作的基础。例如,配合JSA或其他工具,可以实现对文件的批量重命名、分类归档,或者基于文件名从其他工作簿中提取对应的数据。
二、典型场景
1.档案整理:整理年度报表、合同或发票扫描件,需要快速生成一份包含所有文件名的清单。
2.素材管理:整理图片、视频素材库,方便快速浏览文件夹内有哪些资源。
3.数据汇总:数据分析时,需要将多个文件名(如各地区销售数据)作为标签,在汇总时一并处理。
4.建立超链接目录:在表格中生成文件名清单的同时,直接创建指向该文件的超链接,实现一键打开文件,构建便捷的文件导航系统。
三、【WPS JSA】代码
function 提取当前文件夹下文件名目录_无扩展名(){let response = MsgBox("确定要删除当前工作表的全部信息吗?", 10, "请谨慎确认是否删除");if (response != 1) return;const sheet = Application.ActiveSheet;sheet.Cells.Clear();let path = ThisWorkbook.Path;let n = 0;// 检测操作系统类型,确定路径分隔符let os = Application.OperatingSystem.toLowerCase();let separator = (os.indexOf("linux") >= 0 || os.indexOf("unix") >= 0) ? "/" : "\\";let searchPattern = path + separator + "*.*";try {let fileName = Dir(searchPattern);while (fileName !== "") {n++;// 去除扩展名(最后一个点及其之后的内容)let lastDotIndex = fileName.lastIndexOf(".");if (lastDotIndex > 0) { // 有扩展名fileName = fileName.substring(0, lastDotIndex);}// 隐藏文件(如 .bashrc)保持原样sheet.Range("A" + n).Value2 = fileName;fileName = Dir();}MsgBox("已成功提取" + n + "个当前文件夹下文件名!", 0, "操作完成");} catch (e) {MsgBox("操作失败:" + e.message, 16, "错误");}}function 提取当前文件夹下文件名目录_有扩展名() {let response = MsgBox("确定要删除当前工作表的全部信息吗?", 10, "请谨慎确认是否删除");if (response != 1) return;const sheet = Application.ActiveSheet;sheet.Cells.Clear();let path = ThisWorkbook.Path;let n = 0;// 检测操作系统类型,确定路径分隔符let os = Application.OperatingSystem.toLowerCase();let separator = (os.indexOf("linux") >= 0 || os.indexOf("unix") >= 0) ? "/" : "\\";let searchPattern = path + separator + "*.*";try {let fileName = Dir(searchPattern); // 第一次调用,带路径while (fileName !== "") {n++;sheet.Range("A" + n).Value2 = fileName;fileName = Dir(); // 后续调用,不带参数}MsgBox("已成功提取" + n + "个当前文件夹下文件名!", 0, "操作完成");} catch (e) {MsgBox("操作失败:" + e.message, 16, "错误");}}
四、操作步骤
1.打开WPS表格,按 Alt + F11 打开宏编辑器。
2.在编辑器中选择菜单栏的“插入” -> “模块”。
3.将上述任一代码复制粘贴到右侧的代码窗口中。
4.关闭宏编辑器,回到表格界面。点击“开发工具”选项卡下的“JS宏”按钮,找到并运行对应的函数即可。
可下载以下WPS表格查看测试:
2026年02月20日-【WPS JSA】提取当前文件夹下文件名目录示例.zip
往期内容:
【WPS JSA 】一键提取工作簿中所有工作表名称,如果工作表名称与表格的标题又是一样的,那就一不小心生成了文件目录了。
【WPS JSA】宏编程:两个字的名字中间批量增加两个空格,一次性完成数据标准化处理,秒成!

持续更新,关注点赞收藏。
学会了WPS JSA实战,就是香!!!
夜雨聆风
