TopPicLogo TopPicText

Имя файла по полному пути

Public Function GetFileNameByPath(varPath As Variant) As String
'Аргумент: varPach = Полный путь к файлу
'Возвращает имя файла (по указанному в аргументе) полному пути.
'--------------------------------------------------------------------
On Error GoTo GetFileNameByPath_Err
    GetFileNameByPath = Mid(varPath, InStrRev(varPath, "\") + 1)
    Exit Function

GetFileNameByPath_Err:
    GetFileNameByPath = "FilePach ERR#" & Err.Number
End Function



Более сложный вариант:
Может возвращаать не только имя файла, но и его определённую чать (только название или только расширение).

Public Function GetFileName(ByVal sPath As String, Optional NamePart As Integer = 0) As String
'Функция возвращает имя файла по полному пути к файлу (по умолчанию - NamePart = 0)
'Или часть имени файла:
'   NamePart = 1   Только имя (без расширения) 
'   NamePart = 2   Только расширение
'--------------------------------------------------------------------
Dim sFileName As String
Dim iPos As Integer

On Error GoTo GetFileName_Err

'Ищем позицию первого символа "\" (справа-налево)
    iPos = InStrRev(sPath, "\")
    sFileName = Mid(sPath, iPos + 1)
    Select Case NamePart
            Case 1
            'Ищем позицию первого символа "." (справа-налево)
            iPos = InStrRev(sFileName, ".")
            sFileName = Mid(sFileName, 1, iPos - 1) 'Вырезаем имя файла из строки
        Case 2
            'Ищем позицию первого символа "." (справа-налево)
            iPos = InStrRev(sFileName, ".")
            sFileName = Mid(sFileName, iPos + 1) ' Вырезаем расширение файла из строки
    End Select
   
    GetFileName = sFileName

GetFileName_Bye:
    Exit Function

GetFileName_Err:
    MsgBox "Error " & Err.Number & vbCrLf & Err.Description & vbCrLf & _
    "in procedure GetFileName of Module modUtils", vbCritical, "Error!"
    Resume GetFileName_Bye
End Function


Самый быстрый вариант

Public Function OnlyName(path)
Dim File As String, Ext As String
    With Access.WizHook
        .Key = 51488399
        .SplitPath path, vbNullString, vbNullString, File, Ext
    End With
OnlyName = File & Ext
End Function
Назад ToTop
L.E. 07.10.2016
Рейтинг@Mail.ru