ind*_*ser 4 excel vba excel-vba
我有一个宏来获取子文件夹数据.但是我也想从主文件夹中获取一些东西.
我看了如何使用vba获取当前工作目录?但需要更改activeworkbook路径:
Application.ActiveWorkbook.Path might be "c:\parent\subfolder"
Run Code Online (Sandbox Code Playgroud)
我想要
"c:\parent\"
Run Code Online (Sandbox Code Playgroud)
使用Excel 365 VBA
由于路径可能不是当前工作目录,因此您需要从字符串中提取路径.
找到最后一个\并读取左边的所有字符:
ParentPath = Left$(Path, InStrRev(Path, "\"))
Run Code Online (Sandbox Code Playgroud)
如果您正在使用当前目录ChDir ".."将跳转到一个级别,则可以返回新路径CurrDir.
最可靠的方法是使用Scripting.FileSystemObject。它具有一种无需解析即可获取父文件夹的方法:
With CreateObject("Scripting.FileSystemObject")
Debug.Print .GetParentFolderName(Application.ActiveWorkbook.Path)
End With
Run Code Online (Sandbox Code Playgroud)