使用Format(Now()函数时,Excel不导出表格?

出于某种原因,当我执行下面的子程序时,出现运行时错误“1004”:

Sub Export() Dim wb As Workbook Set wb = Workbooks.Add MyFileName = "CSV_Export_" & Format(Now(), "yyyy-MM-dd hh:mm:ss") ThisWorkbook.Sheets("Sheet1").Copy Before:=wb.Sheets(1) wb.SaveAs "C:\Users\SuperUser\Desktop\" & MyFileName Application.ActiveWorkbook.Close False End Sub 

但是,当我将MyfileName行replace为:

 MyFileName = "CSV_Export_" & Format(Date, "ddmmyyyy") 

然后它的工作,并保存表格完美的罚款。

有任何想法吗?

它不起作用,因为在Now()中你有: 。 例如CSV_Export_2017-05-08 15:19:07:不允许作为一个符号。

像这样的事情会让你身边:

 ?replace("CSV_Export_" & Format(Now(), "yyyy-MM-dd hh:mm:ss"),":","__") CSV_Export_2017-05-08 15__22__54 

甚至像这样:

 ?"CSV_Export_" & Format(Now(), "yyyy-MM-dd hh_mm_ss") CSV_Export_2017-05-08 15_25_13 

在你的第一行看起来像冒号“:”正在引发这个问题。
我们不能保存包含一些特殊字符(包括冒号)的文件。