大家好,我是爱分享的永恒君!
愉快的周末总是那么短暂,又是周一了,该学习起来了~~
今天分享一个日常有可能会需要使用到的批量文件重命名
实例。
如下图,图片左边有一批不同类型的文件需要重新命名,
而命名的方式则是按照右边 excel 里面文件名的序列,将序号加在原文件之前。
例如,大波.doc
,在 excel 中序号为11
,则将原来文件名大波.doc
更改为11大波.doc
。
最终更改完成的效果如下:
思路
1、遍历文件夹内所有的文件,获取文件的名字。
使用Dir()
函数即可获取到文件夹内所有文件的名字。
Dir(m)
但是这里获取到的是带扩展名的名字,如大波.doc
。需要剔除掉扩展名.doc
,可以使用split()
函数,构造类似如下的函数:
myname = Split(myfullname, ".")(0)
即可获取到大波
2、依次将文件的名字在excel中进行查找,匹配到对应的序列号,并构造新的文件名。
Excel 中查找匹配大波
对应的序列,使用Find()
函数即可,找到大波
对应的单元格,向左偏移一个单元格,即为对应序列11
。
Range("B1:B100").Find(myname).Offset(0, -1)
然后使用连接符 &
将序列和原文件名拼接在一起,构造成新的名字11大波
即可。
3、用新的文件名对旧的文件名进行替换。
这里就简单了,使用 Name()
函数
效果展示
说明
1、其实解决这个问题还有很多其他的方式,如使用python、bat批处理等,但是 VBA 应该是最方便的一种了。
2、以上只是介绍该实例及方法,如果你也恰好有这个需求的话,直接使用即可。excel 列表的内容可以根据你的实际需求进行添加、删除。
3、如果发现错误,需要将文件名的序列号删除
的话,这里 VBA 也是可以的,但是有现成的工具可以使用,永恒君就偷懒没有写了。
可以使用 Renamer
这个重命名文件的神器,一键即可搞定。
关于 Renamer
这个神器,后续永恒君还会分享更详细、更高级的玩法。
好了,以上就是今天的分享,如果你感兴趣的话,可以在公众号后台回复 “大波” 即可进行试用~
写在最后
公众号运营至今,离不开小伙伴们的支持。
为了给大家提供一个相互交流的平台,特建立了一个交流群,交流学习摸鱼为主,不定时会分享一些效率提升的工具和学习资源,有一群有趣有料的小伙伴在等你哦!
进群方式:公众号后台回复888
,按提示操作即可进群。