微信公众号:yhjbox(永恒君的百宝箱),获取最新文章、资源。

Excel VBA实例(48) – 按excel表格内容批量重命名文件

Excel VBA 实例 永恒君 1612℃ 0评论

大家好,我是爱分享的永恒君!

愉快的周末总是那么短暂,又是周一了,该学习起来了~~

今天分享一个日常有可能会需要使用到的批量文件重命名实例。

如下图,图片左边有一批不同类型的文件需要重新命名,

而命名的方式则是按照右边 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,按提示操作即可进群。

转载请注明:永恒君的百宝箱 » Excel VBA实例(48) – 按excel表格内容批量重命名文件

喜欢 (17)
发表我的评论
取消评论
表情