Имя Файла по полному Пути или определённую чать (только название или только расширение).
Более сложный вариант:
Может возвращаать не только имя файла, но и его определённую чать (только название или только расширение).
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
Имя существующего файла по полному пути
Public Function FileNameByPath(sPath As String) As String 'es 09.05.2019 'Возвращает имя существующего файла по полному пути '-------------------------------------------------------------------------- Dim objFSO As Object Dim objFile As Object 'Dim lFileSize& '-------------------------------------------------------------------------- '?FileNameByPath("d:\Temp\19.pdf") On Error GoTo FileNameByPath_Err Set objFSO = CreateObject("Scripting.FileSystemObject") Set objFile = objFSO.GetFile(sPath) 'lFileSize = CLng(objFile.Size) 'Размер в байтах FileNameByPath = objFile.Name FileNameByPath_End: On Error Resume Next Err.Clear Exit Function FileNameByPath_Err: MsgBox "Error: " & Err.Number & vbCrLf & Err.Description & vbCrLf & _ "in Function: FileNameByPath in module: 00_Tests", vbCritical, "Error in Application" Err.Clear Resume FileNameByPath_End End Function
Определение названия файла функцией в Excel
Формула =ФАЙЛИМЯ(ПУТЬ) возвращает имя файла из полного пути к файлу. При этом существование файла не проверяется, функция работает вне зависимости расположен файл на вашем компьютере или доступа к файлу в данный момент нет. Также не важен тип файла: это может быть как документ Excel, так и текстовый файл. Функция имеет один аргумент:
- ПУТЬ — Полный путь к файлу, наименование которого необходимо получить.
Пример
Далее представлен простой пример наглядно демонстрирующий работу функции
Код на VBA
Function ФАЙЛИМЯ(ПУТЬ As String) As String Dim temp As Variant If ПУТЬ = "" Then ФАЙЛИМЯ = "": Exit Function temp = Split(ПУТЬ, Application.PathSeparator) ФАЙЛИМЯ = temp(UBound(temp)) End Function
Надстройка
VBA-Excel
Надстройка для Excel содержит большой набор полезных функций, с помощью которых вы значительно сократите время и увеличите скорость работы с программой.
Получить имя файла из пути
Нкидаю на Лист список файлов для дальнейшего использования.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Private Sub CommandButton5_Click() Set fs = Application.FileSearch With fs .LookIn = 'd:pubgggw' .FileName = '*.xls' If .Execute(SortBy:=msoSortByFileName, _ SortOrder:=msoSortOrderAscending) > 0 Then For i = 1 To .FoundFiles.Count Cells(i + 5, 2).Value = .FoundFiles(i) Next i Else MsgBox 'There were no files found.' End If End With End Sub
_________
Нужно разорвать
d:pubgggwКнига1.xls
на две ячейки вот так
d:pubgggw Книга1.xls
Лучшие ответы ( 2 )
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:
C пути получить имя файла
Всем здрасте, у меня есть путь точнее много путей к каждому файлу в цыкле, выгледят так :\ .
Получить имя файла без полного пути
Вообщем такая задача необходимо знать название перемещаемого файла без директории в которой он.
Получить имя файла без полного пути
вы друзья уж простите, я 25 страниц пролистал в поиске но не нашел ответа (может не правильно.
Получить имя файла из его полного пути
Var a:string; b:string; Begin readln(a); End. В ‘a’ вводится будут ток адреса с файлом в.
Регистрация: 08.04.2009
Сообщений: 17
Сообщение было отмечено Памирыч как решение
Решение
1 2 3 4
FullName = 'd:pubgggwBook1.xls' i = InStr(1, StrReverse(FullName), ' ') Path = Left(FullName, Len(FullName) - i + 1) Name = Right(FullName, i - 1)
Сообщение было отмечено как решение
Решение
Используйте функцию InstrRev(. )
Пример:
1 2 3 4
full_path = 'c:dsssdsdsdfsdeer.xls' i = InStrRev(full_path, ' ', -1) file_name = Mid(full_path, i + 1) file_path = Mid(full_path, 1, i)
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь
Получить имя файла без полного пути
Доброго времени суток! Я пытаюсь в заголовке формы записать имя считываемого файла, но в него.
Получить имя файла, без полного пути
Please Help)))) Мне надо чтобы выбрав файл в CommonDialog имя выбранного файл появилось в Label1.
SaveFileDialog: получить имя файла без полного пути
друзья подскажите, есть saveFielDialog, он возвращает FileName- т.е. путь+имя файла с расширением.
Из полного пути получить имя файла без расширения
Дана строка, содержащая полное имя файла, то есть имя диска, список каталогов (путь), собственно.
Или воспользуйтесь поиском по форуму:
Свойство Document.Path (Издатель)
Возвращает строку String , указывающую полный путь к файлу сохраненной активной публикации без учета последнего разделителя или имени файла.
Синтаксис
expression. Путь
Выражение Переменная, представляющая объект Document .
Замечания
Свойство FullName можно использовать для возврата пути и имени файла.
Пример
В следующем примере показаны различия между свойствами Path, Name и FullName . Этот пример лучше всего проиллюстрировать, если публикация сохраняется в папке, отличной от папки по умолчанию.
Sub PathNames() Dim strPath As String Dim strName As String Dim strFullName As String strPath = Application.ActiveDocument.Path strName = Application.ActiveDocument.Name strFullName = Application.ActiveDocument.FullName ' Note the file name & path differences ' while executing. MsgBox "The path is: " & strPath MsgBox "The file name is: " & strName MsgBox "The path & file name are: " & strFullName End Sub
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.
Обратная связь
Были ли сведения на этой странице полезными?