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")