10

应用:Excel

Left(ThisWorkbook.Path, InStrRev(ThisWorkbook.Path, "\") - 1)

我需要从工作簿路径返回至少 2 个文件夹。

不能使用像“C:/Folder1”这样的路径,因为应用程序将被移动多次。

4

2 回答 2

15

像这样:

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 模式...

于 2013-11-11T10:55:21.357 回答
4

提供FileSystemObject方法GetParentFolderName(path)

请参阅如何在 VBA 中使用 FileSystemObject?

例子

Dim fso As New FileSystemObject
Dim strParent As String

strParent = fso.GetParentFolderName(Me.Range("A1").value)
于 2018-08-12T20:56:07.090 回答