我有一个宏,可以创建Excel文档的备份副本 如何使宏在每次保存文档时自动运行?
以下是代码:
Sub BUandSave()
'Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
'Saves the current file to a backup folder and the default folder
'Note that any backup is overwritten
Application.DisplayAlerts = False
ActiveWorkbook.SaveCopyAs Filename:="G:\1 Processing\Christine\" & _
ActiveWorkbook.Name
ActiveWorkbook.save
Application.DisplayAlerts = True
End Sub
我从网上获得了这个代码并且没有VBA技能,请帮忙!
编辑:好的,谢谢你的回答和见解。现在我还有一个问题。如何进行备份以使备份副本以不同的名称保存。我想做一些类似于DO NOT DELETE或DO NOT EDIT之类的东西,以便编辑文件的人不会尝试编辑错误的文件。如何将其添加到代码中?
答案 0 :(得分:2)
答案在您发布的代码中:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
'Saves the current file to a backup folder and the default folder
'Note that any backup is overwritten
Application.DisplayAlerts = False
ActiveWorkbook.SaveCopyAs Filename:="G:\1 Processing\Christine\" & ActiveWorkbook.Name
ActiveWorkbook.Save
Application.DisplayAlerts = True
End Sub
将上述代码放在ThisWorkbook
模块中(Alt + F11会让您进入VBA编辑器)。
Workbook_BeforeSave
是一个工作手册。其中的代码在触发事件时执行,在这种情况下,在保存工作簿之前。 Excel中的事件非常酷,是代码slingers的强大工具:-)
您现在不再需要在问题中发布的代码。