VBA, MS Access MS Access в примерах

Проверка на сушествование папки (сетевой) по пути

Public Function IsFolderExist(sFlderPath$, Optional bolSilentMode As Boolean) As Boolean
' es 18.02.2021 - v001
' Проверка на сушествование (сетевой) папки - если есть - вернёт True
'--------------------------------------------------------------------------
Dim sVal As String, sErrPlus$, iErrType
On Error GoTo IsFolderExist_Err
   

    sVal = Dir(sFlderPath, vbDirectory) ' Запуск функции 'Dir'.
    If sVal = "" Then
        sVal = "Путь:" & vbCrLf & sFlderPath & vbCrLf & _
                "- не существует."
        MsgBox sVal, vbExclamation
        GoTo IsFolderExist_Bye
    End If
    
    IsFolderExist = True 'OK!
    
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


По материалам: https://msdn.microsoft.com/en-us/library/5xc78d8d(v=vs.84).aspx

Dim s As String
    s = "D:\Temp"
    If CreateObject("Scripting.FileSystemObject").FolderExists(s) = False Then
        MsgBox "Нет такой паки!" & vbCrLf & s, vbCritical
        ' ....
        Exit Sub
    End If

Public Function IsFolderExist(sFldPath$) As Boolean
'Проверка на сушествование (сетевой) папки - если есть - вернёт True
'--------------------------------------------------------------------------
Dim fso As Object, msg$
On Error GoTo IsFolderExist_Err
   Set fso = CreateObject("Scripting.FileSystemObject")
   If (fso.FolderExists(sFldPath)) Then
      IsFolderExist = True
   End If

IsFolderExist_Bye:
   Set fso = Nothing
   Exit Function

IsFolderExist_Err:
    'MsgBox "Ошибка " & Err.Number & vbCrLf & Err.Description & vbCrLf & _
    "в функции: FolderExist", vbCritical, "Error in module  [Название вашего модуля]"
    Resume IsFolderExist_Bye
End Function
Назад ToTop
L.E. 12.08.2021
Рейтинг@Mail.ru