使用VBA,是否可以获取包含文件的文件夹的名称?
输入:C:\Windows\System32\notepad.exe
输出:System32
答案 0 :(得分:1)
这将返回父文件夹名称:
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
答案 1 :(得分:1)
你可以做得更简单(不需要参考):
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 )