相对pathVBA
我需要从绝对走向相对path。
我的macros在文件夹\ models \ vba中
并且这个macros使用文件夹\ models \ Main和\ models \ aear中的表单,如下所示
Set Main = Workbooks.Open("D:\Shared\Models\Main\Main 2017.xlsx")
我已经购物了,而且它似乎是最容易使用的
ThisWorkbook.Path
返回一个目录的最好方法是什么,然后inputmacros映射。
你可以用通常的方式构造相对path,但是你总是需要把它们附加到ThisWorkbook.Path
。
Set Main = Workbooks.Open(ThisWorkbook.Path & "\..\Main\Main 2017.xlsx")
每个..
都在文件夹树中上一步。
你可以通过构build你自己的函数来最终封装这个函数,从你的相对path构build绝对path
Function RelToAbs(RelPath as string) as string RelToAbs = ThisWorkbook.Path & "\" & RelPath End function Set Main = Workbooks.Open(RelToAbs("..\Main\Main 2017.xlsx"))