我的目标:让中国的大学生走出校门的那一刻就已经具备这些Office技能,让职场人士能高效使用Office为其服务。支持鹏哥,也为自己加油!
昨天发表了一篇文章:
《这是我见过最好的批量修改某文件夹下的文件名办法!》
大家已经能深深的体会到VBA的强大之处了,有时我们会遇到如下的情况。
比如,我最近在编辑一本书,建立了一个名为课程的文件夹,里面又有N个文件夹,分别放各个章节的内容,类似下面:
大家可以看到,有的文件夹的文件名是一位数字,有的是两位数字,有的是汉字。
对于有强迫症的同学来说简直无法忍受,希望能够改成如下名称,或者是按照自己的喜好命名:
统一都是三位数字,看着整洁,也好查找。
修改的具体步骤和昨天文章中修改文件名的步骤一样:
注:B列是改后的名字。
代码如下:
Dim tw As WorkbookSub 批量提取文件夹名()Dim n%Dim pah$Set tw = ThisWorkbookpah = tw.PathSet fso = CreateObject("scripting.filesystemobject")Set ff = fso.getfolder(pah)n = 1For Each ef In ff.subfolders n = n + 1 Cells(n, 1) = ef.NameNextEnd SubSub 批量修改文夹件名()Dim pah$, fn$Set tw = ThisWorkbookpah = tw.Patharr = Range("a2", [b2].End(xlDown))Set fso = CreateObject("scripting.filesystemobject")For n = 1 To UBound(arr) Set ef = fso.getfolder(pah & "\" & arr(n, 1)) If ef.Name <> arr(n, 2) Then: ef.Name = arr(n, 2)NextEnd Sub
向右滑动可查看完整代码。
知识点:
1、filesystemobject即所谓的fso对象
2、利用fso对象获取文件夹及子文件夹
3、利用fso对象获取文件夹下的文件
4、folder、subfolders、file之间的层级关系
关于批量提取、修改文件名还可以参阅以下文章:
推 荐 阅 读
告别996,你应该多掌握些类似这样的技巧!
批量修改文件名,这一招也够爽!想提高工作效率就该学学VBA,鹏哥的培训群欢迎你的加入!
本节的分享就到这里,鹏哥祝大家每天都有进步。
从基础操作到VBA,
两杯咖啡的钱,
换取一份如此详细的Excel视频资料,
你还在犹豫?
欲购从速,联系微信号:527240310
非诚勿扰!
每天进步一点,每天提升一点!