WPS JS 宏实践运用:批量修改文件名 熟悉VBA的电脑员都知道,使用Excel来批量修改文件名,给我们带了十分方便的体验效果。从文件开始,将注重实践操作来运用WPS JS宏制作一些实际中工作运用的表格。欢迎网友提供素材,抽取部分为你免费制作。本例为:批量修改学籍相片名称。首先说说学籍相片的命名方式为学生本人身份证号码,注意身份证号含X的要大写。没有身份证的学生命名方式为:学校标识码_班号_姓名。要保持和系统内学生的身份证号一致。每个学生的学籍照片大小不能超过60kb。否则无法上传。上传文件的压缩格式是zip,名称可以自己定义比如XX班学籍相片.zip。表格式如下: 表宏按键如下: 宏程序思路: 1、确定当前工作文件名路径。使用ThisWorkbook.Path属性来确定当前工作薄路径。 2、使用Dir()方法获取文件名,使用while循环将原文件名写入工作薄。 3、使用try catch语句来判断获取最后文件名为空,如果为空表示所有文件读取完毕,结束循环。 二、生成新文件名。 1、使用End()方法获取列最后一个单元。 2、使用for of循环遍历数组,获取列的每一个单元。 3、使用if语句判断该学生是否存在身份证号码,没有身份证号码的按学校标识码_班号_姓名的文件命名方式命名。 function 生成新文件名(){ var endRange=Range("G9999").End(xlUp); for (let Rng of Range("G2",endRange)){ if (Range("E"+Rng.Row).Value2!=undefined){ Range("H"+Rng.Row).Value2=Range("E"+Rng.Row).Value2 }else{ bVal=Range("B"+Rng.Row).Value2 cVal=Range("c"+Rng.Row).Value2 dVal=Range("d"+Rng.Row).Value2 Range("H"+Rng.Row).Value2=bVal+cVal+dVal } } } 宏程序思路: 1、使用typeof类型判断,单元格是否为空,如果为空则表示表格不存在数据,需要填写数据才能进行操作。 2、使用FileCopy()方法复制并修改文件名,这样既能不破坏原文件名,又可实现文件重命名的效果。 function 重命名文件(){ var pah=ThisWorkbook.Path; if(typeof Range("b2").Value()=="undefined"){ alert("数据表没有需要校验的数据!"); }else{ var endRange=Range("G9999").End(xlUp); //Console.log(pah+'\\10月.xlsx') try{ MkDir(pah+ '\\新文件名'); } catch(err){ alert("<新文件名>文件夹已存在!点击确定,将为你重命名文件!"); }; for(var Rng of Range("G2",endRang)){ try{ FileCopy(pah+'\\'+Range("G"+Rng.Row).Value2,pah+'\\新文件名'+'\\'+Range("H"+Rng.Row).Value2+'.jpg') } catch(err){ alert("你重命名的文件已存在,请清空文件重新执行!"); break; }; } alert("重命名文件已完成,请查看<新文件名>文件夹!"); } } 原表格获取方法,关注公众号:大内管家零零柒 发送内容:批量修改学籍相片文件名表格 即可。 |
|
来自: 优美的代码 > 《WPS JS宏基础与实践》