Excel​​如何通过VBA批量修改文件名!

  • A+
所属分类:办公技巧

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

效果如图:

更改前

Excel​​如何通过VBA批量修改文件名!

改后

Excel​​如何通过VBA批量修改文件名!

效果图中我们就可以看到已经实现了效果了,所有的文件的前面都多了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

欢迎 加入 零售创新 知识星球,知识星球主要以数据分析、报告分享、数据工具讨论为主;

Excel​​如何通过VBA批量修改文件名!

你将获得:

1、价值上万元的专业的PPT报告模板。

2、专业案例分析和解读笔记。

3、实用的Excel、Word、PPT技巧。

4、VIP讨论群,共享资源。

5、优惠的会员商品。

6、一次付费只需99元,即可下载本站文章涉及的文件和软件。

  • 我的微信
  • weinxin
  • 我的知识星球
  • weinxin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: