申请:Excel
Left(ThisWorkbook.Path, InStrRev(ThisWorkbook.Path, "\") - 1)
我需要从工作簿路径返回至少2个文件夹。
我无法使用“C:/ Folder1”之类的路径,因为应用程序将被多次移动。
答案 0 :(得分:10)
像这样:
Function getParentFolder2(ByVal strFolder0)
Dim strFolder
strFolder = Left(strFolder0, InStrRev(strFolder0, "\") - 1)
getParentFolder2 = Left(strFolder, InStrRev(strFolder, "\") - 1)
End Function
Dim strFolder
strFolder = getParentFolder2(ThisWorkbook.Path)
我们这里切两次\ subdir模式...
答案 1 :(得分:1)
FileSystemObject
提供了方法GetParentFolderName(path)
。
请参见How do I use FileSystemObject in VBA?
Dim fso As New FileSystemObject
Dim strParent As String
strParent = fso.GetParentFolderName(Me.Range("A1").value)