打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
VBA批量修改多个文件夹中的jpg格式文件 | VBA实例教程

除非注明,文章均为 战战如疯 原创,转载请保留链接: http://www.zhanzhanrufeng.com/cat4/388.html,VBA交流群273624828。

这节来看个VBA批量修改多个文件夹中jpg图片的例子。题目要求是这样的,现在有1000个文件夹,每个文件夹中有数量不等的随机命名的jpg格式文件,现在要将每个文件夹中的jpg文件命名为“文件夹1-A”、“文件夹2-B”这种格式。

先来想下思路,首先要能够遍历所有的文件夹,其次要遍历每个文件夹中的所有文件。在制作Excel超链接目录一文中我们介绍过怎样遍历所有的文件夹,这里因为只有一层文件所以遍历起来也很简单。重命名用的是name方法。下面看代码

Sub 批量改名()
Dim mypath, arr(), i, j, mydir$, myfile, n
Application.ScreenUpdating = False
mypath = ThisWorkbook.Path & "\"
ReDim arr(1 To 1000)
mydir = Dir(mypath, vbDirectory)
Do While mydir <> ""
If mydir <> "." And mydir <> ".." Then
If GetAttr(mypath & mydir) = vbDirectory Then
j = j + 1
arr(j) = mydir
End If
End If
mydir = Dir
Loop
ReDim Preserve arr(1 To j)
For i = 1 To j
myfile = Dir(mypath & arr(i) & "\*.jpg")
n = 0
Do While myfile <> ""
n = n + 1
On Error Resume Next
Name mypath & arr(i) & "\" & myfile As mypath & arr(i) & "\" & arr(i) & "-" & Split(Cells(1, n).Address, "$")(1) & ".jpg"
myfile = Dir
Loop
Next
Application.ScreenUpdating = True
End Sub

上述代码先利用Dir方法遍历出所有的文件夹,将其放到一个数组arr中,然后依次访问每个文件夹,对其中的jpg文件进行遍历。重命名用的是name方法,name 原文件 as 新文件,这里原文件和新文件用的都是完整路径。

这里还有一个细节,就是要按英文字母顺序依次命名,那怎样取这个英文字母呢,我这里利用了单元格的地址,我们知道地址都是$A$1,$B$1这里形式,里面的字母排序就可以被我们拿出来用,这里利用了Split函数将字母取出来。

本节示例文件下载:http://pan.baidu.com/s/1ntE6r8H

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
excel VBA基本操作:遍历当前文件夹下的excel文件
excel-vba应用示例之将同一文件夹中的多个文本文件读入到工作簿中 Excel教程 o...
用VBA提取路径下所有工作簿的工作表名(四个方法)
不同文件下批量创建特定文件夹
获取当前目录下所有XLS文件名
VBA文件对话框的应用(VBA打开文件、VBA选择文件、VBA选择文件夹,VBA遍历文件夹)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服