乐于分享
好东西不私藏

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

【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 != 1return;    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 != 1return;    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宏编辑器?

【WPS JSA 】一键提取工作簿中所有工作表名称,如果工作表名称与表格的标题又是一样的,那就一不小心生成了文件目录了。

【WPS JSA】批量对工作表进行排序或工作表名称重命名

【WPS JSA】批量打印不同份数的不同工作表

【WPS JSA】你用代码直接生成过表格吗?来试一下!

【WPS JSA】宏编程:批量删除选择区域单元格全部空格

【WPS JSA】宏编程:两个字的名字中间批量增加两个空格,一次性完成数据标准化处理,秒成!

持续更新,关注点赞收藏

学会了WPS JSA实战,就是香!!!

本站文章均为手工撰写未经允许谢绝转载:夜雨聆风 » 【WPS JSA】提取当前文件夹下文件名目录

评论 抢沙发

6 + 2 =
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
×
订阅图标按钮