WPS JS 宏實(shí)踐運(yùn)用:批量修改文件名 熟悉VBA的電腦員都知道,使用Excel來批量修改文件名,給我們帶了十分方便的體驗(yàn)效果。從文件開始,將注重實(shí)踐操作來運(yùn)用WPS JS宏制作一些實(shí)際中工作運(yùn)用的表格。歡迎網(wǎng)友提供素材,抽取部分為你免費(fèi)制作。本例為:批量修改學(xué)籍相片名稱。首先說說學(xué)籍相片的命名方式為學(xué)生本人身份證號碼,注意身份證號含X的要大寫。沒有身份證的學(xué)生命名方式為:學(xué)校標(biāo)識碼_班號_姓名。要保持和系統(tǒng)內(nèi)學(xué)生的身份證號一致。每個(gè)學(xué)生的學(xué)籍照片大小不能超過60kb。否則無法上傳。上傳文件的壓縮格式是zip,名稱可以自己定義比如XX班學(xué)籍相片.zip。表格式如下: 表宏按鍵如下: 宏程序思路: 1、確定當(dāng)前工作文件名路徑。使用ThisWorkbook.Path屬性來確定當(dāng)前工作薄路徑。 2、使用Dir()方法獲取文件名,使用while循環(huán)將原文件名寫入工作薄。 3、使用try catch語句來判斷獲取最后文件名為空,如果為空表示所有文件讀取完畢,結(jié)束循環(huán)。 二、生成新文件名。 1、使用End()方法獲取列最后一個(gè)單元。 2、使用for of循環(huán)遍歷數(shù)組,獲取列的每一個(gè)單元。 3、使用if語句判斷該學(xué)生是否存在身份證號碼,沒有身份證號碼的按學(xué)校標(biāo)識碼_班號_姓名的文件命名方式命名。 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類型判斷,單元格是否為空,如果為空則表示表格不存在數(shù)據(jù),需要填寫數(shù)據(jù)才能進(jìn)行操作。 2、使用FileCopy()方法復(fù)制并修改文件名,這樣既能不破壞原文件名,又可實(shí)現(xiàn)文件重命名的效果。 function 重命名文件(){ var pah=ThisWorkbook.Path; if(typeof Range("b2").Value()=="undefined"){ alert("數(shù)據(jù)表沒有需要校驗(yàn)的數(shù)據(jù)!"); }else{ var endRange=Range("G9999").End(xlUp); //Console.log(pah+'\\10月.xlsx') try{ MkDir(pah+ '\\新文件名'); } catch(err){ alert("<新文件名>文件夾已存在!點(diǎn)擊確定,將為你重命名文件!"); }; 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("你重命名的文件已存在,請清空文件重新執(zhí)行!"); break; }; } alert("重命名文件已完成,請查看<新文件名>文件夾!"); } } 原表格獲取方法,關(guān)注公眾號:大內(nèi)管家零零柒 發(fā)送內(nèi)容:批量修改學(xué)籍相片文件名表格 即可。 |
|