VBA 错误地将斜杠添加到格式化日期

VBA erroneously adds slashes to formatted date

每周五创建一个文件,格式为:"Report 08 11 2017.xlsx"

Dim iWeekday As Integer, LastFridayDate As Date
iWeekday = Weekday(Now(), vbFriday)

LastFridayDate = Format(Now - (iWeekday - 1), "mm dd yyyy")

LastFridayDate 的格式与它在文件路径中的显示方式相同,为“08 11 2017”。但是,当我尝试通过以下方式打开工作簿时:

Dim lw_report As Workbook

Set lw_report= Workbooks.Open("Report " & LastFridayDate & ".xlsx")

我收到错误消息:找不到 "Report 0817.xlsx"

如何创建文件路径以保留空格?

LastFridayDate 被定义为日期,因此当您尝试打开工作簿时,日期会与标准日期格式连接在一起。

要简单地解决此问题 dim LastFridayDate 作为字符串

Dim iWeekday As Integer, LastFridayDate As String
iWeekday = Weekday(Now(), vbFriday)

LastFridayDate = Format(Now - (iWeekday - 1), "mm dd yyyy")
Dim lw_report As Workbook

Set lw_report = Workbooks.Open("Report " & LastFridayDate & ".xlsx")