Excel VBA-如果从Personal.xlsb运行宏,如何获取工作簿文件路径/位置
我已将宏隐藏在Personal.xlsb文件中,我希望将一个文件保存在与应用宏的工作簿相同的目录中。 当前,当我使用:Excel VBA-如果从Personal.xlsb运行宏,如何获取工作簿文件路径/位置,excel,save-as,vba,Excel,Save As,Vba,我已将宏隐藏在Personal.xlsb文件中,我希望将一个文件保存在与应用宏的工作簿相同的目录中。 当前,当我使用: Application.ThisWorkbook.Path 它获取的是Personal.xlsb(宏的来源)的位置,而不是工作簿的目录。有人能告诉我如何修复此问题(无需向工作簿中添加模块)任何工作簿对象都可以使用路径属性,而不仅仅是此工作簿对象 因此,要获得ActiveWorkbook的路径,可以使用ActiveWorkbook.path 或者,例如,如果您使用以下方式打开工
Application.ThisWorkbook.Path
它获取的是Personal.xlsb(宏的来源)的位置,而不是工作簿的目录。有人能告诉我如何修复此问题(无需向工作簿中添加模块)任何
工作簿
对象都可以使用路径
属性,而不仅仅是此工作簿
对象
因此,要获得
ActiveWorkbook
的路径,可以使用ActiveWorkbook.path
或者,例如,如果您使用以下方式打开工作簿:
Dim wb As Workbook
Set wb = Workbooks.Open("C:\Temp\Test\File1.xlsx")
然后您可以使用
wb.Path
,它当然会返回“C:\Temp\Test”
可以在任何工作簿
对象上使用路径
属性,而不仅仅是在此工作簿
对象上
因此,要获得
ActiveWorkbook
的路径,可以使用ActiveWorkbook.path
或者,例如,如果您使用以下方式打开工作簿:
Dim wb As Workbook
Set wb = Workbooks.Open("C:\Temp\Test\File1.xlsx")
然后您可以使用
wb.Path
,它当然会返回“C:\Temp\Test”
ActiveWorkbook.Path
将给出活动工作簿的路径。如果您显示您的代码,我们可以帮助您决定这是否是要使用的合适的东西,或者它是否是您需要在上使用路径
属性的其他工作簿对象。@YowE3K很好,谢谢!这就是我所需要的,只是找到我正在工作的工作簿,而不是宏的来源,再次非常感谢!:问题解决了@YowE3K请填写答案,以便将问题标记为已回答。@Patrickonorez DoneActiveWorkbook.Path
将给出活动工作簿的路径。如果您显示您的代码,我们可以帮助您决定这是否是要使用的合适的东西,或者它是否是您需要在上使用路径
属性的其他工作簿对象。@YowE3K很好,谢谢!这就是我所需要的,只是找到我正在工作的工作簿,而不是宏的来源,再次非常感谢!:问题解决了@YowE3K请填写一个答案,以便该问题可以标记为已回答。@Patrickhornez Donecheers!在我的例子中,只需在misc places的几个文件上运行一个宏,并让它在同一目录中吐出一个csv文件,因此需要一个动态解决方案:)干杯!在我的例子中,只需在misc places中的多个文件上运行一个宏,并让它在同一目录中吐出一个csv文件,因此需要一个动态解决方案:)