Как извлечь имя файла из его пути в vba

Я пишу код, где я открываю файл для извлечения данных. В настоящее время я использую следующий код; Я хочу извлечь имя файла из пути и сохранить его в определенном диапазоне. Этот код:

FilePath = Application.GetOpenFilename("Excel Files (*.xlsx), *.xls") If FilePath <> False Then Range("D6").Value = FilePath file = Range("D6").Value Range("D6").Clear End If 

Вы можете сделать это, как показано ниже:

 FilePath = Application.GetOpenFilename("Excel Files (*.xlsm), *.xlsm") If FilePath <> False Then Dim fso As Object Dim objFile As Object Set fso = VBA.CreateObject("Scripting.FileSystemObject") Set objFile = fso.GetFile(FilePath) If Not objFile Is Nothing Then FileName = objFile.Name End If End If 

Альтернатива:

 Public Function ExtractFileName(ByVal strFullName As String) As String Dim p As Integer Dim i As Integer Dim s As Integer i = 1 Do p = InStr(i, strFullName, "\", 1) If p = 0 Then Exit Do s = p i = p + 1 Loop s = s + 1 ExtractFileName = Mid(strFullName, s, Len(strFullName)) End Function 'ExtractFileName 

Самый простой способ:

 FileName = Mid$(FilePath, InStrRev(FilePath, "\") + 1, Len(FilePath)) 
Interesting Posts

Удаление содержимого ячеек при щелчке по кнопке при нажатии кнопки команды

числа, сохраненные в виде текста при экспорте в excel с использованием пакета xlsx

VBA прерывистая ошибка ByRef – функция форматирования

Есть ли способ захватить HotKeys / Shortcuts в Excel VSTO, используя только C # и без VBA?

Формула Excel 2013 для поиска дубликатов

Копии столбцов VBA резко увеличивают размер файла

Как перебирать строки и столбцы и объединять две текстовые ячейки в Excel VBA?

Исключение ExcelExna CustomTaskPane

Объединение нескольких таблиц Excel в один

Попытка фильтровать большие объемы данных и удалять строки

Private Sub App_SheetChange Не работает, если ошибка произошла в предыдущем макросе

Проверка данных для каждой ячейки, чтобы проверить, доступно ли значение или нет, с помощью EPplus

VBA Excel, циклические переменные

Задайте два стиля для одной ячейки

Получить кнопку для перемещения с ячейками в Excel

Давайте будем гением компьютера.