想要VBA编程达到以下目的: excel文件簿关闭时, 如果文件有修改,则
1、弹出对话框,询问是否保存、,跟EXCEL传统的对话框一样;
2、如果选择的是保存, 如果逢周二、周五则另存为一个备份文件。如果选择的是不保存,则不另存文件。
逢周二、周五另存的代码我已经有了,
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Weekday(Now()) = 3 Or Weekday(Now()) = 6 Then
path1 = "D:\1111\" '备份文件夹路径
filename1 = Left(ThisWorkbook.Name, Len(ThisWorkbook.Name) - 4) & Format(Now, "yyyymmdd") & ".xls"
filename2 = Left(ThisWorkbook.Name, Len(ThisWorkbook.Name) - 4) & Format(Now - 14, "yyyymmdd") & ".xls"
Set fso = CreateObject("Scripting.FileSystemObject")
If fso.FileExists(path1 & filename1) Then '判断备份文件是否存在
Kill path1 & filename1 '存在的话,删除原来备份文件
ThisWorkbook.SaveAs path1 & filename1 '保存新的文件备份
Else
ThisWorkbook.SaveAs path1 & filename1 '不存在直接保存备份
End If
If fso.FileExists(path1 & filename2) Then '判断备份文件是否存在
Kill path1 & filename2
Else: Exit Sub
End If
Else: Exit Sub
End If
End Sub
现在保存一下文档,Excel就会自动给这个文件创建一份备份文件,备份文件的文件名为原文件名后加上“的备份”字样,如“Book1的备份.xlk”,而且图标也不相同,相信很容易分别出哪个是备份文件。
追问
这样备份文件始终只有一个!