【问题标题】:Remove Hard coding of 'file path' in Excel while calling the other workbook [duplicate]在调用其他工作簿时删除 Excel 中“文件路径”的硬编码 [重复]
【发布时间】:2017-03-31 07:53:34
【问题描述】:

我是 VB 编码的新手,所以请帮助我。

我有一个 Excel,其中在代码中文件名是用文件路径硬编码的。文件名每次都保持不变,但路径会不时更改,所以我们可以说定义文件路径以查看调用工作簿所在的当前目录吗?

如果不是最坏的情况,我认为我们必须在其中一个 excel 列中给出路径并在代码中引用它。当前代码如下:

工作簿。打开文件名:= _ "C:\XXX\YYY\ZZZ\Called_Workbook.xls"

非常感谢任何帮助。 谢谢!

【问题讨论】:

  • 如果路径在要打开的文件中,如何打开它来查看该文件在哪个文件夹中查找? vb.net、vba 和 excel-vba 不是同一个东西,有不同的答案,所以修复标签
  • 请忽略所有答案,除了提供的重复帖子中的最后一个答案。 ThisWorkbookActiveWorkbook 更可取,ActiveWorkbook 可以意外更改。由于 OP 引用和 xls 文件提供的代码,我假设 OP 正在查询 VBA,尽管我同意 @Plutonix 应该审查和编辑标签。
  • @nbayly 是否使用ThisWorkbookActiveWorkbook 或其他获取工作簿引用的方式完全取决于要求。在某些情况下两者都是合适的。
  • @chrisneilsen 是的,当您想要引用具有焦点的活动工作簿时,使用 ActiveWorkbook 是合适的。但是,当它引用代码托管在 ThisWorkbook 上的同一个工作簿时更可取。即使在使用其他工作簿而不是使用 ActiveWorkbook 时,我也倾向于使用变量来专门指向工作簿。您能否详细介绍一个更可取 ActiveWorkbook 的示例?
  • @nbayly 什么时候应该使用ActiveWorkbook 当你想引用当前图书时。 什么时候应该使用ThisWorkbook 当你想参考包含代码的书时。 你什么时候应该使用其他方法?当以上都不适用时。真的很明显......

标签: vba excel


【解决方案1】:

可以使用方法提取当前文件路径:

strFileDir = ThisWorkbook.Path

问候,

【讨论】:

  • 太棒了 :) 你们摇滚!
猜你喜欢
  • 1970-01-01
  • 2014-10-28
  • 2019-12-07
  • 2014-12-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多