我有一个备份宏,每次保存excel文件时都会运行,并将工作簿的副本保存到文件夹中。
现在我有一台新计算机,我使用相同的文件,它不再工作,我得到运行时错误1004.
我的同事使用相同的excel文件和同一台计算机与另一个用户,对他而言,宏工作完全像以前在另一台计算机上工作一样。
代码:
'backup
ora = ".h" & Hour(Now)
bufolder = ThisWorkbook.Path & "\excel_backups"
If Len(Dir(bufolder, vbDirectory)) = 0 Then
MkDir bufolder
End If
excfile = ThisWorkbook.Path & "\excel_backups\backup_" & Format(Date, "yyyy/mm/dd") & ora & "_" & ActiveWorkbook.name
If Dir(excfile) = "" Then
ActiveWorkbook.SaveCopyAs Filename:=bufolder & "\backup_" & Format(Date, "yyyy/mm/dd") & ora & "_" & ActiveWorkbook.name
End If
编辑:我在网上收到错误:
ActiveWorkbook.SaveCopyAs Filename:=bufolder & "\backup_" & Format(Date, "yyyy/mm/dd") & ora & "_" & ActiveWorkbook.name
它说:
Microsoft Office Excel无法访问该文件' ...' 有几个 可能的原因:
路径的文件名不会退出。该文件正被另一个人使用 程序。您尝试保存的工作簿与
同名
我认为这些问题都不会导致问题。
感谢您的时间
答案 0 :(得分:1)
无法保存文件,因为您试图保存文件名,日期格式为“yyyy / mm / dd”?我的电脑不允许我保存带有反斜杠的文件名。尝试将格式化功能更改为Format(Date, "yyyy-mm-dd")
。