|
|
Проверка на существование папки (сетевой) по пути (2 варианта FSO + Dir)
Public Function IsFolderExist(sFolderPath$) As Boolean
Dim objFSO As Object
On Error GoTo IsFolderExist_Err
Set objFSO = CreateObject("Scripting.FileSystemObject")
IsFolderExist = objFSO.FolderExists(sFolderPath)
IsFolderExist_End:
On Error Resume Next
Set objFSO = Nothing
Err.Clear
Exit Function
IsFolderExist_Err:
MsgBox "Error " & Err.Number & " (" & Err.Description & ") in Function" & _
"IsFolderExist - modFilesAndFolders.", vbCritical, "Error!"
'Debug.Print "IsFolderExist_Line: " & Erl & "."
Err.Clear
Resume IsFolderExist_End
End Function
Вариант с Dir() - по скоости работы не уступает FSO
Public Function IsFolderExist(sFlderPath$, Optional bolSilentMode As Boolean) As Boolean
Dim sVal As String, sErrPlus$, iErrType
On Error GoTo IsFolderExist_Err
sVal = Dir(sFlderPath, vbDirectory)
If sVal = "" Then
If bolSilentMode = False Then
sVal = "Путь:" & vbCrLf & sFlderPath & vbCrLf & _
"- не существует."
MsgBox sVal, vbExclamation
End If
GoTo IsFolderExist_Bye
End If
IsFolderExist = True
IsFolderExist_Bye:
Exit Function
IsFolderExist_Err:
Select Case Err.Number
Case 52
sVal = "Путь:" & vbCrLf & sFlderPath & vbCrLf & _
"- не доступен." & vbCrLf & _
"Возможно удалённый компьютер выключен."
iErrType = vbExclamation
sErrPlus = "Проверьте доступность пути!"
Case Else
sVal = "Ошибка " & Err.Number & vbCrLf & _
Err.Description & vbCrLf & "в функции: IsFolderExist"
iErrType = vbCritical
sErrPlus = "Error in module [modFilesAndFolders]"
End Select
If bolSilentMode = False Then
MsgBox sVal, vbCritical, sErrPlus
End If
Err.Clear
Resume IsFolderExist_Bye
End Function
|
|