我们可以用vba编写简单的宏代码来实现备份功能,同时还能做到:
1.在保存excel文件时自动生成备份;
2.保存excel文件时提示是否备份;
3.原始文件和备份文件互为备份。即编辑原始文件时,将在备份文件夹生成备份文件;编辑备份文件时,将以原始文件为备份。
一、设置宏安全性
选择“工具→宏→安全性”菜单,将安全级别设为“低”。这样,vba代码才可以执行。
二、输入vba代码
1.打开需要备份的excel文件,右击任一工作表标签,选择“查看代码”,或选择“工具→宏→visual
basic编辑器”菜单,打开visual
basic编辑器。
2.在“工程”窗口中双击“thiswork
book”,此时vba编辑器标题变为:microsoft
viusal
basic-“文件名”-[thisworkbook(代码)]。
3.将以下代码输入到“代码”窗口中:
private
sub
workbook_beforesave(byval
saveasui
as
boolean,
cancel
as
boolean)
'指定excel文件的路径
xlsfilepath
=
"d:"
'指定备份路径
backupxlsfilepath
=
"e:"
if
thisworkbook.path
=
xlsfilepath
then
excelfilepath
=
backupxlsfilepath
else
excelfilepath
=
xlsfilepath
end
if
'提示是否备份
response
=
msgbox("保存时是否备份当前excel文件?"
&
vbcr
&
"备份位置:"
&
excelfilepath,
vbyesno,
"提示备份")
if
response
=
vbyes
then
'
用户按下“是”
'两个excel文件相互备份
thisworkbook.savecopyas
filename:=excelfilepath
&
"\"
&
thisworkbook.name
end
if
end
sub
说明:xlsfilepath
=
"d:"和backup
xlsfilepath
=
"e:"分别指定了正在编辑的excel文件和备份文件的路径,可以将其中的“d:”和“e:”(不含引号)分别更换成实际的路径。在输入文件路径时一定要注意以下几点:
1.确保路径正确无误,如果输入错误或指定的文件夹不存在,将出现错误;
2.盘符要大写;
3.路径的后面不要加上“\”,如“f:\备份\2006”不能写成“f:\备份\2006\”。
三、执行
当前excel文件编辑完成后,只要单击“保存”按钮,excel都会提示是否备份。选择“是”将在指定的文件夹生成一个同名的备份文件,并保存当前文件。选择“否”则只保存当前文件而不做备份
温馨提示:答案为网友推荐,仅供参考