|
|
Проверка на наличие и создание папок произвольной вложенности
... перед копированием, перемещением или созданием файла
Пример использования:
Dim distPath As String
Dim i As Long
distPath = "C:\Temp\01\test1\test2\test3\DB002.mdb"
i = PrepareFoldersForPath(distPath)
If i = 0 Then
FileCopy "C:\DB\DB001.mdb", distPath
Else
Exit Sub
End If
Функция:
Public Function PrepareFoldersForPath(strFilePath As String) As Long
Dim i As Integer
Dim x As Integer
Dim strTemp As String
Dim curPath As String
On Error GoTo PrepareFoldersForPath_Err
x = Len(strFilePath)
On Error Resume Next
For i = 4 To x
If Mid(strFilePath, i, 1) = "\" Then
Err.Clear
curPath = Mid(strFilePath, 1, i)
If Dir(curPath, vbDirectory) = "" Then
MkDir curPath
DoEvents
End If
End If
Next i
PrepareFoldersForPath = Err.Number
Err.Clear
PrepareFoldersForPath_End:
Exit Function
PrepareFoldersForPath_Err:
MsgBox "Error: " & Err.Number & vbCrLf & Err.Description & vbCrLf & _
"in Function: PrepareFoldersForPath ", vbCritical, "Error in Application"
PrepareFoldersForPath = Err.Number
Err.Clear
Resume PrepareFoldersForPath_End
End Function
|
|