Excel VBA打开一个文件中更改date的文件

我有一个每天创build的Excel文件,命名为"three day outlook 7-7-2014 。date每天都在变化,但是文件每天都存储在一个文件夹中,所以我有多个文件命名为"three day outlook"但用不同的date。

我正在尝试使用VBA代码按date打开某个文件,这些文件是由另一个Excel工作表上的dateselectselect的。 我已经尝试了以下内容:

 Workbooks.Open Filename:=("C:\Users\sdfe\Documents\three day outlook" & Cells(D3).xlsx) 

尝试以下操作:

 Workbooks.Open Filename:="C:\Users\sdfe\Documents\three day outlook " & Range("D3") & ".xlsx" 

根据你的问题,“outlook”和date之间有一个空格。 我假设date格式正确的格式在表格上。 实际上,最好是显示一个消息框,其中包含要打开的文件的path。 就像是:

 MsgBox """C:\Users\sdfe\Documents\three day outlook " & Range("D3") & ".xlsx""" 

并确保该string在使用前已正确构build。

更新 (在您的评论下面):

由于你的date格式为“7/7/2014”,而不是“7-7-2014”,所以你可以做几件事:

  1. 将date为(D3)的单元格设置为文本格式,以便按照您的喜好进行input,并且不会根据date格式进行更改。

  2. 使用自定义格式的dm-yyyy格式化date为(D3)的单元格,然后在上面而不是Range("D3")使用Range("D3").Text

  3. 保持单元格格式为Date (如我所假定的),然后在上面,而不是Range("D3")使用Format(Range("D3"), "dm-yyyy")

使用格式化function,以便您始终知道date会出现什么样的。 每个人都将在他们的电脑上设置不同的date格式。 而且你永远不知道计算机只是把date作为一个数字而不是一个date。