备份宏上的运行时错误1004,以前工作并在其他用户上工作

时间:2014-12-17 15:49:48

标签: vba excel-vba runtime-error backup excel

我有一个备份宏,每次保存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无法访问该文件' ...'   有几个   可能的原因:

     

路径的文件名不会退出。该文件正被另一个人使用   程序。您尝试保存的工作簿与

同名

我认为这些问题都不会导致问题。

感谢您的时间

1 个答案:

答案 0 :(得分:1)

无法保存文件,因为您试图保存文件名,日期格式为“yyyy / mm / dd”?我的电脑不允许我保存带有反斜杠的文件名。尝试将格式化功能更改为Format(Date, "yyyy-mm-dd")