Вопрос:

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

vba path directory

7975 просмотра

2 ответа

3288 Репутация автора

Используя VBA, возможно ли получить имя папки, содержащей файл?

Входные данные: C:\Windows\System32\notepad.exe

Выход: System32

Автор: Fidel Источник Размещён: 22.08.2016 08:44

Ответы (2)


1 плюс

3288 Репутация автора

Это вернет имя родительской папки:

Public Function GetParentFolderName(ByVal path As String) As String
    Dim result As String
    With fso = CreateObject("Scripting.FileSystemObject")
        result = .GetParentFolderName(path)
        GetParentFolderName = Mid(result, InStrRev(result, "\") + 1)
    End With
End Function

Использование:

Sub GetParentFolderNameTest()
    Debug.Print GetParentFolderName("C:\Windows\System32\notepad.exe")
End Sub

Выход:

System32
Автор: Fidel Размещён: 22.08.2016 08:44

1 плюс

21 Репутация автора

Вы можете сделать проще (ссылка не требуется):

Function ParentFolder(ByVal path As String)
        vArray = Split(path, "\")
        size = UBound(vArray)
        ParentFolder= vArray(size - 1)
End Function

Тогда позвони

ParentFolder( "what\ever\path\to\a\file.ext" )

Если вам нужна родительская папка, например, замените последнюю строку на

ParentFolder = vArray(size)

например, родительская папка текущего приложения (книга Excel)

ParentFolder( ActiveWorkbook.path )
Автор: user6200044 Размещён: 27.10.2017 06:47
Вопросы из категории :
32x32