VBA自动创建多级目录
VBA本身的mkdir是不能直接创建多级目录的,必须一级一级的创建目录。
比如:D:\test\test1如果test目录不存在,直接 mkdir "D:\test\test2" 将会出错。
下面是一个循环判断自动创建多级目录的代码:
Function MKDirs(Str As String) As Boolean
Rem mkdir的升级版本,根据目录地址创建文件夹
Rem 使用方法Call MKDirs("D:\test\test2\test3\")
Rem if MKDirs("D:\test\test2\test3\")=True then doSomething else doOtherSomething
On Error Resume Next
Dim arr, i%, newStr$
If Len(Str) = 0 Then Exit Function
If InStr(1, Str, "\") > 0 Then
arr = Split(Str, "\")
For i = 0 To UBound(arr)
If Len(arr(i)) > 0 Then
newStr = newStr & arr(i) & "\"
If Dir(newStr, vbDirectory) = "" Then
MkDir newStr
If Err.number <> 0 Then GoTo ele
End If
End If
Next i
Else
If Dir(Str, vbDirectory) = "" Then
MkDir Str
If Err.number <> 0 Then GoTo ele
End If
End If
MKDirs = True '创建多级目录成功
Exit Function
ele:
MKDirs = False '创建多级目录失败
'MsgBox Err.number & Err.Description
End Function[本文转自仇朝权随笔_VBA自动创建多级目录](http://mq.tlltd.cn/post/83.html)
♡♡♡转载请保留上面信息♡♡♡