【分享成果,随喜正能量】天地方圆,道在中央。人生在世,当有所敬畏,善待别人,约束自己,万万不可为所欲为,更不能明知故犯。。
《VBA代码解决方案》这套教程是我最早推出的教程,目前已经是第二版修订了。这套教程定位于入门后的提高,在学习这套教程过程中,侧重点是要理解及掌握我的“积木编程”思想。要灵活运用教程中的实例像搭积木一下把自己喜欢的代码摆好。
这套教程共三册,一百四十七讲,内容覆盖较广,也是初级和中级间的过度教程,改版后的内容主要是提供程序源码文件及代码修正为32位和64位兼用代码。今后一段时间会给大家陆续推出。今日的内容是第45讲:VBA备份文件
朋友们好,我们今日继续讲解VBA代码解决方案,今日讲解的是第45讲内容,如何备份文件。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 Sub mynz_45 ()
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
代码窗口:
SaveAs(FileName,FileFormat,Password,WriteResPassword,ReadOnlyRecommended,CreateBackup,AccessMode,ConflictResolution,AddToMru,TextCodepage,TextVisualLayout,Local)】
代码解析:
mynz_45过程使用GetSaveAsFilename方法显示标准的内置“另存为”对话框,获取备份文件的文件名和保存路径,新建工作簿保存备份数据。
1) 第6行代码,设置对话框文件保存类型为Excel文件类型。如果需要设置为文本类型需设置为“文本文件(*.txt), *.txt”,而如果是图片文件则需设置为“图片文件(*.bmp;*.jpg),* bmp;*.jpg”。
2) 第7行代码,设置对话框的标题为“数据备份”。
3) 第8行代码,如果用户没有取消操作。
4) 第9行到第10行代码,使用SaveAs方法将数据备份。
xls是2003版本下的文件 ,不管有没有宏程序的话都是xls文件 ,2007做了区分:XLSM文件和XLSX文件都是excel2007文件,但前者是含有宏启用,Excel中默认情况下不自动启用宏。Excel不会执行宏XLSX文件,即使它们包含宏代码,因此含有宏的文件可以保存为xlsm文件。
下面看本节内容的实测,运行窗口:
今日内容回向:
1 如何显示另存为对话框?
2 如何保存文件备份?
本讲内容参考程序文件:VBA代码解决方案修订(1-48).xlsm
我20多年的VBA实践经验,全部浓缩在下面的各个教程中:
【分享成果,随喜正能量】很喜欢导航里的这段话:你已偏离路线,已为你重新规划。请在,合适的位置选择掉头。但是,人生道路上有多少条路可以重新规划呢!又有多少条路可以选择掉头呢!。
留言与评论(共有 0 条评论) “” |