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自动创建多级目录](https://zawen.net/post/83.html)
♡♡♡转载请保留上面信息♡♡♡