让灵犀帮我创作
才思如泉涌
WPS宏功能指南:批量提取和重命名文件的高效技巧 点击使用AI助手 了解更多
发布于 2024-12-22 liusiyang 135 编辑
AI 智能搜索
⭐【功能描述】
提取文件名。点击“提取文件名”按钮,可将原文件夹中的所有类型文件全部提取到A列原文件区域。
修改文件名。点击“修改文件名”按钮,可将原文件名批量命名为新文件名,并将新文件复制到新文件夹中。
⭐【功能演示】
⭐【JSA代码】
按ALT+F11打开WPS宏编辑器,复制下方代码粘贴到编辑器中。
function 读取文件名(){
Range("a4:a999").Clear()//清空单元格
r=3; //记录写入位置
f=Dir(Range('b1').Value2); //获取文件名
while (f){ //遍历文件名
Range("a"+ ++r).Value2=f;//将文件名写入A列,每次向下偏移一行
f=Dir(); //获取下一个文件名
}
alert("文件名提取完成!");
}
function 重命名文件(){
n=Range('a65535').End(xlUp).Row //获取A列最后一行
if(typeof Range("a4").Value()=="undefined"){ //判断a4单元格是否有值
alert("原文件不能为空!"); //弹出提示框
}else{ //如果a4单元格有值,则往下执行
for(var Rng of Range("a4:a"+n)){ //从A4单元格执行到最后一行
try{ //出错控制
f1=Range('b1').Value2+Range("a"+Rng.Row).Value2 //原文件名
lx= '.'+f1.split(".").pop()//用"."将f1分割成一个数组,用pop取出最后一个元素,即文件的后缀名。
f2=Range('b2').Value2+Range("b"+Rng.Row).Value2 //新文件名
FileCopy(f1,f2.replace(lx,'')+lx) //将文件命名后复制到新文件夹
}
catch(err){ //出错时执行
alert("重命名文件已存在,请清空文件重新执行!"); //弹出提示
return; //结束程序
};
}
alert("命名完成!请查看文件夹:"+Range('b2').Value2); //成功提示
}
}
⭐【往期内容】
⭐【素材下载】
https://kdocs.cn/l/clzAY1KWDuFz
原文链接:https://bbs.wps.cn/topic/9990