Excel如何通过VBA批量修改文件名!
Excel如何通过VBA批量修改文件名!
不管是写代码还是写小程序,最重要的还是思路的问题,有了好的思路,写代码的过程就会快很多,在本案例中,批量这个操作可以通过循环,也就是dir()来实现,修改名称就是我们今天学习的重点了。name .....as .......就可以实现
代码区
Sub test()
Dim OldName$, NewName$, i&, FileName
With Application.FileDialog(msoFileDialogFilePicker)
If .Show = -1 Then
For i = 1 To .SelectedItems.Count
Workbooks.Open .SelectedItems(i)
pathn = Application.ActiveWorkbook.Path
OldName = .SelectedItems(i)
biggst = UBound(Split(OldName, ""))
FileName = Split(OldName, "")(biggst)
NewName = "AAA" & FileName
NewName = pathn & "" & NewName
ActiveWorkbook.Close True
Name OldName As NewName
Next i
End If
End With
End Sub
效果如图:
更改前
改后
效果图中我们就可以看到已经实现了效果了,所有的文件的前面都多了AAA.
代码分析
一上来还是利用我们学过的filediajog来自主选择文件,然后通过
pathn = Application.ActiveWorkbook.Path
方法获取文件的路径
剩下的白遍历打开就是我们之前学习过的内容了,一直到最后面,获得了文件名之后,通过
Name OldName As NewName
来实现重命名,这里要注意的是,旧的文件名在前面,新的在后面。
完整代码+注释
Sub test()
Dim OldName$, NewName$, i&, FileName '声明变量
With Application.FileDialog(msoFileDialogFilePicker) '选择文件
If .Show = -1 Then
For i = 1 To .SelectedItems.Count '开始遍历选择文件
Workbooks.Open .SelectedItems(i)
pathn = Application.ActiveWorkbook.Path '通过打开的方式获得当前的路径
OldName = .SelectedItems(i) '获取就的文件名
biggst = UBound(Split(OldName, "")) '通过“”拆分路径,得到最大下标,方便后面获取文件名
FileName = Split(OldName, "")(biggst) '通过最大下表,获取文件名
NewName = "AAA" & FileName
NewName = pathn & "" & NewName '将新的文件名和路径组合,形成完成路径
ActiveWorkbook.Close True
Name OldName As NewName '重命名
Next i
End If
End With
End Sub
快来试试吧!
学习资料见知识星球。
以上就是今天要分享的技巧,你学会了吗?若有什么问题,欢迎在下方留言。
快来试试吧,小琥 my21ke007。获取 1000个免费 Excel模板福利!
更多技巧, www.excelbook.cn
欢迎 加入 零售创新 知识星球,知识星球主要以数据分析、报告分享、数据工具讨论为主;
1、价值上万元的专业的PPT报告模板。
2、专业案例分析和解读笔记。
3、实用的Excel、Word、PPT技巧。
4、VIP讨论群,共享资源。
5、优惠的会员商品。
6、一次付费只需99元,即可下载本站文章涉及的文件和软件。
共有 0 条评论