我正在尝试使用SaveAs功能将电子表格保存到其他位置。当我对文件名进行硬编码时,文件保存得很好。
但是,由于我每天可以节省大约50个这样的文件,我需要能够区分保存的文件。我尝试将文件名的一部分设置为可变,具体取决于保存文件时的时间戳。 (是的,我知道我可以按照保存的日期/时间对文件夹进行排序,但这些文件也供多人使用,他们可能不知道如何以这种方式使用该功能。)
这会引发错误
运行时错误' 1004'方法' SaveAs' objct' _Workbook'失败
代码是:
key3
答案 0 :(得分:1)
您不能在文件名中使用冒号!
将“格式”更改为:
z = Format(DateTime.Now, "hh-mm dd-MM-YYYY")
或者你喜欢的任何角色而不是“ - ”
如果您希望名称排序很好,请使用YYYY-MM-dd格式:
z = Format(DateTime.Now, "YYYY-MM-dd hh-mm")
有关Windows文件命名约定的信息,请参阅此处,尤其是保留字符部分:https://msdn.microsoft.com/en-gb/library/windows/desktop/aa365247(v=vs.85).aspx
具体来说,冒号是为设备名称保留的,通常是驱动器号或打印机/串行端口。
答案 1 :(得分:1)
据我所知,文件名不能包含“:”或“;”。因此,我在您的代码中看到的唯一错误是
z =格式(DateTime.Now,“ hh:mm dd:MM:YYYY ”)
我尝试了下面的代码,它运行正常;
promise
您可以通过获取小时和分钟部分并使用点连接来实现小时数。我希望有所帮助;)