去一个文件夹级别

我有一个获取子文件夹数据的macros。 不过,我也想从主文件夹中的东西。

我看着如何使用vba获取当前工作目录? 但需要更改activeworkbookpath:

Application.ActiveWorkbook.Path might be "c:\parent\subfolder" 

我想要

 "c:\parent\" 

使用Excel 365 VBA

由于path可能不是当前的工作目录,因此需要从string中提取path。

find最后的\并阅读左边的所有字符:

 ParentPath = Left$(Path, InStrRev(Path, "\")) 

如果您正在解决当前目录ChDir ".."将跳转到一个级别, CurrDir可以返回新的path。

最可靠的方法是使用Scripting.FileSystemObject。 它有一个方法,将获得父文件夹而不试图parsing它:

 With CreateObject("Scripting.FileSystemObject") Debug.Print .GetParentFolderName(Application.ActiveWorkbook.Path) End With