Excel如何批量操作文件夹
今天主要是聊聊使用Excel如何批量操作文件夹,常见的增、删、查、改!
最常见的就是,批量查找,比如我们先看一下,某个文件夹下有哪些子文件夹!我们可以使用DIR函数处理!
▍S01 - 批量查找文件夹
比如我们想看一下D盘下面有哪些文件夹,那么可以使用下面的代码处理
▼VBA源码分享:根据需要修改路径
'作者:E精精 '公众号:Excel办公实战 '-------------------------------------- Sub 获取全部子文件夹() '需要处理的文件夹路径 Const sPath As String = "D:\" Dim subPath As String subPath = Dir(sPath, vbDirectory) Do While Len(subPath) <> 0 Debug.Print subPath subPath = Dir Loop End Sub
其实主要使用到的核心函数,就是DIR函数!关于此函数,看一下文档说明
注意两点
1、查找不到返回空或者说字符串长度0
2、第二参数 VBdirectory 或者16,表示查询文件夹,默认0-查询文件
说完查找,我们来看看如何批量新增!
▍S02 - 批量新增文件夹
批量新增,ExcelVBA中给我们提供了mkdir函数
mkDir语法如下:给一个文件夹全路径即可!
比如我们想在D盘下面,常见一个 “Excel办公实战目录”
那如果我们要创建多个呢?很简单,加一个循环即可!比如我们要创建周一到周日的7个文件夹!
>在Sheet1表A1:A7,输入星期一到星期日
在 D:\Excel办公实战目录 目录下创建 星期一到星期日,7个文件夹!
▼VBA源码分享:根据需要修改路径
Sub 创建文件夹() For i = 1 To 7 MkDir "D:\Excel办公实战目录\" & Cells(i, 1).Value Next End Sub
▼VBA源码分享:根据需要修改路径
▍S03 - 批量删除文件夹
Excel中可以使用 Rmdir删除文件夹,语法如下:
这个是否就有同学要问了,我怎么知道是否是空文件夹?其实可以换一种思路,你直接删,如果不是空的会报错,我们跳过错误就可以了,利用这个我们可以快速删除 指定路径下的全部空文件夹!
▼下面是的代码是删除D盘下的空文件夹
▼VBA源码分享:根据需要修改路径
'作者:E精精 '公众号:Excel办公实战 '-------------------------------------- Sub 批量删除D盘下的空文件夹() Const sPath As String = "D:\" Dim subPath As String subPath = Dir(sPath, vbDirectory) On Error Resume Next Do While Len(subPath) <> 0 RmDir sPath & subPath If Err <> 0 Then Debug.Print "删除失败 > " & subPath: Err.Clear Else Debug.Print "删除成功 > " & subPath End If subPath = Dir Loop End Sub
▍S04 - 批量修改文件夹
所谓批量修改,也就是批量重名,批量重命名,我们可以使用 Name函数处理
Name语法:Name 老文件夹名称 as 新文件夹名称
比如我们之前创建了星期一到星期日的7个文件夹,现在我们想重命名为 周一到周日,那么要如何处理!
表中两列,新旧名称准备好!
'作者:E精精 '公众号:Excel办公实战 '-------------------------------------- Sub 批量重命名() '需要处理的父文件夹路径 Const basePath As String = "D:\Excel办公实战目录\" For i = 1 To 7 Name basePath & Cells(i, 1) As basePath & Cells(i, 2) Next End Sub
OK!文件夹的常见批量操作我们就说到这里!其实还有一个专门处理文件和文件的对象 FSO对象,不过相对新手有点难度!改日再聊!