将文件名相同后缀不同的文件分类到同名文件夹中
如下图所示,在【素材】文件夹下有若干个文件,其中有些文件的文件名相同,但是后缀不同。比如,A项目就有3个同名文件,分别是word文档,excel文件和ppt文件。同样地,B项目也有2个同名文件。
Sub 合并同名文件到同一文件夹中()
Dim lj$, file$, folder$
Dim arr(), n, i
lj = "C:\Users\Dell\Desktop\素材\" '素材文件夹的路径
file = Dir(lj) '利用dir函数取出素材文件夹下的第一个文件名
Do While file <> "" '如果文件名不为空,则进入do...loop循环
n = n + 1 '文件数累加1
ReDim Preserve arr(1 To n) '重定义数组arr的大小,并保留之前的数据
arr(n) = file '将文件名写入数组相应的位置
file = Dir '利用不带参数的dir遍历后面的文件名
Loop
If n > 0 Then '如果文件个数大于0,则进入for...next循环
For i = 1 To UBound(arr) '开始循环
file = arr(i) '从数组中取出文件名,赋给变量file
folder = Left(file, InStr(file, ".") - 1) '提取文件名(不含后缀),赋给变量folder
If Dir(lj & folder, vbDirectory) = "" Then '判断文件夹是否存在,若不存在,则
MkDir lj & folder '新建文件夹
End If
FileCopy lj & file, lj & folder & "\" & file '将文件复制到文件夹中
Next i
End If
End Sub
https://pan.baidu.com/s/1zxIMlhGeLj626GhmUA_HQw
赞 (0)