有的时候,我们需要批量修改文件名称。比如批量在文件名称后添加固定信息。这时如果逐个文件名去修改就比较麻烦了。但是在Excel中更改文字是比较快捷的。可以按照一定规律,利用Excel的快速录入功能。即使没有一定的规律,在Excel里修改,再统一保存比逐个去修改快得多。
摘自:小林子-Office中国
批量修改文件名效果图:
1485150787317789.jpg
批量修改文件名动画图:
1485150787135279.gif
批量修改文件名VBA代码DimfilePathAsVariant '定义filepath为变量
DimobjAsObject '定义obj为变量对象
Dimfld,ff,gg '定义fld,ff,gg为变量
Subgetpath()
Range("A2:C1000").ClearContents '清空A2:C1000列
OnErrorResumeNext
DimshellAsVariant
Setshell=CreateObject("Shell.Application")
SetfilePath=shell.BrowseForFolder(&O0,"选择文件夹",&H1+&H10,"") '获取文件夹路径地址
Setshell=Nothing
IffilePathIsNothingThen '检测是否获得有效路径,如取消直接跳出程序
ExitSub
Else
gg=filePath.Items.Item.path
EndIf
Setobj=CreateObject("Scripting.FileSystemObject") '定义变量
Setfld=obj.getfolder(gg) '获取路径
ForEachffInfld.Files '遍历文件夹里文件
m=m+1
Cells(m+1,1)=ff.Name
Cells(m+1,2)="→"
Cells(m+1,3)=ff.Name
Next
EndSub
Subrenamefile()
OnErrorResumeNext
If[a2]=""ThenMsgBox"请点击第一步":ExitSub
ForEachffInfld.Files '遍历文件夹里的所有文件
m=m+1
ff.Name=Cells(m+1,3) '将实际文件名改成目录中C列的对应文件名
Next
MsgBox"改名已完成,请检查",vbOKOnly
EndSub |