excel表格_excel函数公式大全_execl从入门到精通
VBA代码解决方案:使用“另存为”标准内置对话框备份文件的方法2024-02-22 16:51:23
朋友们好,我们今日继续讲解VBA代码解决方案,今日讲解的是第48讲内容,如何备份文件。VBA代码中,备份文件时可以使用GetSaveAsFilename方法显示标准的内置“另存为”对话框,获取备份文件的文件名和保存路径。
使用GetSaveAsFilename方法显示标准的内置“另存为”对话框。GetSaveAsFilename方法的语法如下:
expression.GetSaveAsFilename(InitialFilename, FileFilter, FilterIndex, Title, ButtonText)
参数:
a) expression是必需的,返回一个Application对象。
b) InitialFilename是可选的,指定建议的文件名。如果省略,将活动工作簿的名称作为建议的文件名。
c) FileFilter是可选的,指定文件筛选条件的字符串。
d) FilterIndex是可选的,指定默认文件筛选条件的索引号,取值范围为 1 到 FileFilter 指定的筛选条件数目之间。如果省略,或者取值大于可用筛选数目,则采用第一个文件筛选条件。
e) Title是可选的,指定对话框标题。如果省略,则使用默认标题。
f) ButtonText是可选的,仅用于 Macintosh。
如下面的代码所示。
Sub MyCopyFilename()
Dim NowWorkbook As Workbook
Dim MyFileName As String
MyFileName = Application.GetSaveAsFilename _
(InitialFileName:=".xlsm", _
fileFilter:="excel工作簿(*.xlsm),*.xlsm", _
Title:="数据备份")
If MyFileName <> "False" Then
ActiveWorkbook.SaveAs FileName:=MyFileName, _
FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
End If
End Sub
代码解析:
MyCopyFilename过程使用GetSaveAsFilename方法显示标准的内置“另存为”对话框,获取备份文件的文件名和保存路径,新建工作簿保存备份数据。
第6行代码,设置对话框文件保存类型为Excel文件类型。如果需要设置为文本类型需设置为“文本文件(*.txt), *.txt”,而如果是图片文件则需设置为“图片文件(*.bmp;*.jpg),* bmp;*.jpg”。
第7行代码,设置对话框的标题为“数据备份”。
第8行代码,如果用户没有取消操作。
第9行到第10行代码,使用SaveAs方法将数据备份。
特别注意点:
xls是2003版本下的文件 ,不管有没有宏程序的话都是xls文件 ,2007做了区分:XLSM文件和XLSX文件都是excel2007文件,但前者是含有宏启用,Excel中默认情况下不自动启用宏。Excel不会执行宏XLSX文件,即使它们包含宏代码,因此含有宏的文件可以保存为xlsm文件。
下面看本节内容的实测:
代码窗口:
运行窗口:
运行结果:
今日内容回向:
1 如何显示另存为对话框?
2 如何保存文件备份?
标签: excelvba保存文件