分享

WPS JS 宏实践运用:批量修改学籍相片文件名

 优美的代码 2023-04-04 发布于广东

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("重命名文件已完成,请查看<新文件名>文件夹!");
	}
	}

原表格获取方法,关注公众号:大内管家零零柒 发送内容:批量修改学籍相片文件名表格 即可。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多