VBA - 如果宏是来自 Personal.xlsb 的 运行,如何获取工作簿 filepath/location

VBA - How to get workbook filepath/location if macro is run from Personal.xlsb

我的宏隐藏在我的 Personal.xlsb 文件中,我想将一个文件保存在与应用宏的工作簿相同的目录中。 目前当我使用:

Application.ThisWorkbook.Path

它获取 Personal.xlsb 的位置(宏的来源),而不是工作簿的目录。有人可以告诉我如何解决这个问题(不向我的工作簿添加模块)吗?

Path 属性 可用于任何 Workbook 对象,而不仅仅是 ThisWorkbook 对象。

所以,要获取ActiveWorkbook的路径,可以使用ActiveWorkbook.Path

或者,例如,如果您使用类似以下内容打开工作簿:

Dim wb As Workbook
Set wb = Workbooks.Open("C:\Temp\Test\File1.xlsx")

那么你可以使用 wb.Path,当然,return "C:\Temp\Test"