Excel VBA编程 备份工作簿
在备份工作簿的过程中,使用了Copy方法,它是指把一个指定的文件或文件夹从一个地方复制到另一个地方。
语法:object.Copy destination[, overwrite] 其中,Copy方法有以下几个部分组成:
? ?
object 表示一个File或Folder对象的名字,该参数为必需参数。 Destination 文件或文件夹要复制到的目的端,该参数为必需参数。
? overwrite 如果该值为True(缺省),则已存在的文件或文件夹将被覆盖。如果为False,则它们
不被覆盖,该参数为可选参数。 例如,进入VBE窗口,双击打开ThisWorkbook(工作簿),在弹出的【代码】编辑窗口中,输入如下的代码,即可复制打开的工作簿至另一个地方。
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
'指定Excel文件的路径
XlsFilePath = \新建文件夹\ '指定备份路径
BackupXlsFilePath = \新建文件夹\ If ThisWorkbook.Path = XlsFilePath Then ExcelFilePath = BackupXlsFilePath Else
ExcelFilePath = XlsFilePath End If
'提示是否备份
Response = MsgBox(\保存时是否备份当前Excel文件?\& vbCr & \备份位置:\& ExcelFilePath, vbYesNo, \提示备份\ If Response = vbYes Then
ThisWorkbook.SaveCopyAs Filename:=ExcelFilePath & \& ThisWorkbook.Name End If End Sub
从上面的代码中,用户可以得到以下几点内容:
? ?
FilePath表示表示获取一个String类型,它是指File对象的完全路径。
如果打开的文件路径为“D:\\新建文件夹”,则该文件被备份到“F:\\新建文件夹”中。
? 如果打开的文件路径不是“D:\\新建文件夹”,则该文件被备份到 “D:\\新建文件夹”中。
单击VBE窗口中的保存按钮,即可弹出一个【提示备份】的对话框,如图15-5所示。若用户单击【是】按钮,即可将该打开的工作簿保存到“D:\\新建文件夹”下。
图15-5 备份工作簿