我有一個獲取子文件夾數據的宏。但是我也想從主文件夾中找到一些東西。向上移動一個文件夾級別
我看着How to get current working directory using vba?,但需要更改activeworkbook路徑:
Application.ActiveWorkbook.Path might be "c:\parent\subfolder"
我想
"c:\parent\"
使用Excel 365 VBA
我有一個獲取子文件夾數據的宏。但是我也想從主文件夾中找到一些東西。向上移動一個文件夾級別
我看着How to get current working directory using vba?,但需要更改activeworkbook路徑:
Application.ActiveWorkbook.Path might be "c:\parent\subfolder"
我想
"c:\parent\"
使用Excel 365 VBA
由於路徑可能不是當前工作目錄你需要從字符串中提取路徑。
找到最後一個\
和讀取所有字符向左:
ParentPath = Left$(Path, InStrRev(Path, "\"))
如果你周圍的當前目錄ChDir ".."
工作會跳到你一個級別,新的路徑可以通過CurrDir
返回。
最可靠的方法是使用Scripting.FileSystemObject。它有一個方法可以在不嘗試解析它的情況下獲得父文件夾:
With CreateObject("Scripting.FileSystemObject")
Debug.Print .GetParentFolderName(Application.ActiveWorkbook.Path)
End With
我應該說它總是在工作目錄中(在這種情況下!)。但很高興知道! – indofraiser
試試看這個:Left $(application.ActiveWorkbook.Path,InStrRev(application.ActiveWorkbook.Path,「\」) - 1) – Vityata
謝謝。發現我早就把代碼放到了一行! (在主代碼上) – indofraiser