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