【问题标题】:VBA - How to get workbook filepath/location if macro is run from Personal.xlsbVBA - 如果从 Personal.xlsb 运行宏,如何获取工作簿文件路径/位置
【发布时间】:2017-11-07 16:18:14
【问题描述】:

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

Application.ThisWorkbook.Path

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

【问题讨论】:

  • ActiveWorkbook.Path 将给出活动工作簿的路径。如果您显示您的代码,我们可以帮助您确定这是否适合使用,或者它是否是您需要使用 Path 属性的其他工作簿对象。
  • @YowE3K 完美,谢谢!这就是我所需要的,只是找到我正在处理的工作簿而不是宏来自的工作簿的东西,再次非常感谢! :D 问题已解决!
  • @YowE3K 请填写答案,以便将该问题标记为已回答。
  • @PatrickHonorez 完成

标签: excel save-as vba


【解决方案1】:

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

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

或者,例如,如果您使用以下方式打开了一个工作簿:

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

然后您可以使用wb.Path,当然,它会返回"C:\Temp\Test"

【讨论】:

  • 干杯!在我的情况下,它只是在杂项位置的几个文件上运行一个宏,并让它在同一目录中吐出一个 csv 文件,因此需要一个动态解决方案:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多