假如有一个路径,  C:\aa\bb\cc\dd\ee\gg.txt
这个路径从aa目录开始都是不存在的,为什么用 CreateFolder 只能创建一层目录啊?

解决方案 »

  1.   

    '注意引用 Microsoft Scripting RuntimePrivate Sub Command1_Click()
        
        Dim folderStr As String
        folderStr = "C:\aa\bb\cc\dd\ee"
        buildfolder (folderStr)
    End Sub
    Private Sub buildfolder(ByVal FolderPath As String) '用FSO建立多重文件夹
        On Error Resume Next
        Dim FSO As New FileSystemObject
        Dim folderStr As String
        Dim mFolder As Folder
        folderStr = FolderPath
        Dim i As Long
        Dim foldername As String
        If Right(folderStr, 1) = "\" Then
            folderStr = Left(folderStr, Len(folderStr) - 1)
            MsgBox folderStr
        End If
        Dim patharr As Variant
        patharr = Split(folderStr, "\")
        foldername = patharr(0)
        For i = 1 To UBound(patharr)
            foldername = foldername + "\" + patharr(i)
            Set mFolder = FSO.CreateFolder(foldername)
        Next
        Set mFolder = Nothing
        Set FSO = Nothing
    End Sub