



Visual Basic: 
'MkFolder subroutine 
'   Creates specified folder 
'   Accepts any valid non-UNC path, even if none of its components 
'   has yet been created 
'   Could work with both slashes / and backslashes \ 
'   Doesn't return an error, except for the case you entered invalid path 
'author: hCORe <entropia@fluda.net> 
Public Sub MkFolder(sFolder As String) 
On Error Resume Next 
    If Len(sFolder) < 4 Then 
        On Error GoTo 0 
        Err.Raise 5, "MkFolder", "Invalid argument: folder path should be at least 4 characters long." 
    End If 
    
    ChDrive Left$(sFolder, 3) 
    If Right$(sFolder, 1) = "\" Then sFolder = Mid$(sFolder, 1, Len(sFolder) - 1) 
    
    'replace slashes to backslashes 
    sFolder = ReplTxt(sFolder, "/", "\") 
    Dim aSubs() As String 
    'split string into an array 
    aSubs = Split(sFolder, "\") 
    
    Dim i As Long 
    Dim sMake As String 
    
    'walk through the path, skipping element 0 (drive) 
    sMake = aSubs(0) 
    For i = 1 To UBound(aSubs) 
        sMake = sMake & "\" & aSubs(i) 
        MkDir sMake 
    Next 
    
    'cleanup 
    Erase aSubs() 
    Err.Clear 
End Sub 
'ReplTxt Function 
'   Wrapper for VBA.Replace 
'author: hCORe <entropia@fluda.net> 
Public Function ReplTxt(sWhere As String, sWhat As String, sReplace As String, Optional eCompare As VbCompareMethod = vbBinaryCompare) As String 
On Error Resume Next 
    Dim sTmp As String 
    sTmp = sWhere 
    sTmp = VBA.Replace(sTmp, sWhat, sReplace, , , eCompare) 
    If sTmp = sWhat Then sTmp = sWhere 
    ReplTxt = sTmp 
End Function 


 . к тому же  если папка уже существует, то MkDir ругается, а MkFolder это не важно.
. к тому же  если папка уже существует, то MkDir ругается, а MkFolder это не важно.

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7