如何从文件路径获取父文件夹的名称?
答
这将返回父文件夹名称:
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
答
你可以做简单(没有裁判需要):
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)
'StrReverse(斯普利特(StrReverse( “C:\ WINDOWS \ SYSTEM32 \ NOTEPAD.EXE”), “\”)(1))' – cyboashu
它是在Docs.SO:只检索从路径文件路径](http://*.com/documentation/vba/990/scripting-filesystemobject/11587/retrieve-only-the-path-from-a-file-path#t=201608222101170802615) –
谢谢马特,这很接近但它会返回完整的父路径 – Fidel