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

Папка по полному пути к файлу

Public Function FolderByPath(varPath As Variant, Optional bolRetNoSlash As Boolean = False) As String
'es 10.07.2012 : LE 15.02.2019
'Возвращает путь к папке по указанному в аргументе полному пути к файлу.
'--------------------------------------------------------------------
'   По умолчанию Возвращаемая строка содержит слеш в конце "C:\Temp\"
'   При ошибке возвращает корень диска "C:\"
'--------------------------------------------------------------------

On Error GoTo FolderByPath_Err
    'Рубим путь до последнего левого слеша ("\")
    FolderByPath = Mid(varPath, 1, InStrRev(varPath, "\"))
    'Debug.Print FolderByPath

'На всякий случай - проверка существования пути (не обязательно)
    If Dir(FolderByPath, vbDirectory) = "" Then FolderByPath = "C:"
    'Debug.Print FolderByPath

'Без слеша ... если задано (пока с ним)
    If bolRetNoSlash = True Then
        If Right(FolderByPath, 1) = "\" Then
            FolderByPath = Mid(FolderByPath, 1, Len(FolderByPath) - 1)
        End If
    End If

FolderByPath_Bye:
    Exit Function

FolderByPath_Err:
    If bolRetNoSlash = False Then
        FolderByPath = "C:\"
    Else
        FolderByPath = "C:"
    End If
    Resume FolderByPath_Bye
End Function


Назад ToTop
L.E. 22.04.2019
Рейтинг@Mail.ru