VBA连string与date

我试图build立一个子保存我的Excel工作表,并保存它的时间戳,我不是经验丰富的VBA,错误使我想我应该定义Datetime.now作为一个variables,但即使这样做,如果我做对了。

Sub SaveToDir() ActiveWorkbook.SaveAs ("T:\BRojas\test2" & Text(DateTime.Now()) & ".xlsx") End Sub 

我的错误说

 Compile error: Sub or Function not defined 

谢谢。

Text是一个Excel工作表函数。 VBA中的等效项是Format

所以你想使用:

 ActiveWorkbook.SaveAs "T:\AWilliams\test2" & Format(DateTime.Now(), "yyyymmdd-hhmmss") & ".xlsx" 

使用你喜欢的任何date/时间格式,而不是上面使用的“yyyymmdd-hhmmss”。 但是不要包含斜线( / )或者冒号(:),因为它们在文件名中是无效的。

正如Sorceri所评论的,这应该是有效的,但是你可能仍然需要在时间戳中replace冒号,然后才能保存。

尝试

 ActiveWorkbook.SaveAs ("T:\AWilliams\test2" & replace(CStr(DateTime.Now()),":","-") & ".xlsx")