WEB开发网
开发学院软件教学办公软件Excel 让Excel 文件备份更省心 阅读

让Excel 文件备份更省心

 2007-01-14 21:34:57 来源:WEB开发网   
核心提示:我们工作用的Excel文件往往含有重要数据,备份它的重要性不言而喻,让Excel 文件备份更省心,虽然Excel提供了备份的方法,但备份的文件与原文件处于同一文件夹中,选择“是”将在指定的文件夹生成一个同名的备份文件,并保存当前文件,如果该文件夹被误删除,后果不堪设想

我们工作用的Excel文件往往含有重要数据,备份它的重要性不言而喻。虽然Excel提供了备份的方法,但备份的文件与原文件处于同一文件夹中,如果该文件夹被误删除,后果不堪设想。那么有没有方法让Excel在不同的文件夹自动生成备份呢?答案是肯定的,下面介绍具体方法。

我们可以用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都会提示是否备份。选择“是”将在指定的文件夹生成一个同名的备份文件,并保存当前文件。选择“否”则只保存当前文件而不做备份。

Tags:Excel 文件 备份

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接