Excel VBA Макросы: Как получить имя файла без расширения?

Автор gtz, 06 февраля 2018, 08:29

gtz

Необходимо преобразовать файл из .xls в .xlsx.

Для начала нужно получить имя файла без расширения, записать его в переменную чтобы при сохранении файла было, например
вместо
ActiveWorkbook.SaveAs Filename:= "С:\test.xlsx", FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
было
ActiveWorkbook.SaveAs Filename:= activeworkbook.path & @переменная содежащая имя без расширения@ & ".xlsx", FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False

Как получить имя файла без расширения?

Администратор

Можно использовать вместо сочетания Path + Name свойство "FullName". Оно включает в себя и Path и Name:
Sub макрос()
    ' Вывод результата в View - Immediate Window.
    Debug.Print Left(ActiveWorkbook.FullName, InStrRev(ActiveWorkbook.FullName, ".")) & "xlsx"
End Sub