Excel VBA解读(86):保存工作簿
讲解Workbook对象的Save方法和SaveAs方法,以及应用示例。...
可以使用Workbook对象的Save方法保存工作簿,其语法为:
Workbook对象.Save
下面的示例代码用来保存当前工作簿:
Sub SaveWB()
ActiveWorkbook.Save
End Sub
如果首次保存工作簿,则要使用SaveAs方法来指定工作簿的名称。其语法为:
Workbook对象.SaveAs(FileName,FileFormat,Password,WriteResPassword,ReadOnlyRecommended,CreateBackup,AccessMode,ConflictResolution,AddToMru,TextCodepage,TextVisualLayout,Local)
将某个工作簿另存为指定名称的工作簿。可以看到,SaveAs方法的参数很多,其中:
- 所有参数均为可选参数。
- 参数FileName指定要保存的工作簿的名称。可以提供保存的路径,否则将保存到当前文件夹中。
- 参数FileFormat指定工作簿保存的格式。
- 参数Password指定保存的工作簿的密码,区分大小写。
- 参数WriteResPassword指定工作簿的写保护密码。如果使用密码保存工作簿并且在打开时未提供密码,则以只读方式打开该工作簿。
- 参数CreateBackup设置为True时,创建工作簿的备份。
- 参数AddToMru设置为True时,将工作簿添加到最近使用文件列表中。
示例代码1:保存所有打开的工作簿
下面的代码保存所有打开的工作簿。
Sub SaveAllWb()
Dim wb As Workbook
For Each wb In Workbooks
wb.Save
Next wb
End Sub
示例代码2:添加新工作簿并以指定的名称保存该工作簿
下面的代码先添加一个新工作簿,然后以变量strName指定的字符串保存该工作簿。
Sub AddWBAndSave()
Dim wbNewWorkbook As Workbook
Dim strName As String
strName = "test3"
Set wbNewWorkbook = Workbooks.Add
wbNewWorkbook.SaveAs Filename:=strName
End Sub
示例代码3:替换现有的工作簿
在使用SaveAs方法指定文件名保存工作簿时,如果刚好存在同名的工作簿文件,那么Excel就会给用户一条警告消息,提示用户确定是否覆盖已存在的文件。
如果希望覆盖已存在的文件,而不想每次都弹出警告消息,可以使用下面的代码:
Sub ReplaceExistWb()
Dim wbNewWorkbook As Workbook
Dim strName As String
strName = "test3"
Set wbNewWorkbook = Workbooks.Add
Application.DisplayAlerts = False
wbNewWorkbook.SaveAs Filename:=strName
Application.DisplayAlerts = True
End Sub
其中,使用了Application对象的DisplayAlerts属性来屏蔽警告消息。
如果不希望覆盖已存在的工作簿文件,那么可以给工作簿一个新的名称:
Sub SaveAsWbAvoidNameSame()
Dim wbNewWorkbook As Workbook
Dim strName As String
Dim strNewName As String
Dim i As Integer
strName = "test3"
i = 0
Set wbNewWorkbook = Workbooks.Add
strNewName = strName
Do While blnFileExists(strNewName & ".xls*")
i = i + 1
strNewName = strName & i
Loop
wbNewWorkbook.SaveAs Filename:=strNewName
End Sub
Function blnFileExists(strFile AsString) As Boolean
If Dir(strFile)
"" Then
blnFileExists = True
End If
End Function
代码使用了自定义函数 blnFileExists来检查是否存在同名文件,如果存在则返回True。如果存在同名文件,则以该文件名后加上一个顺序数字来为新工作簿命名。
本文为原创文章,转载请注明出处。
欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。
欢迎关注[完美Excel]微信公众号:
方法1—在微信通讯录中搜索“完美Excel”或者“excelperfect”后点击关注。
方法2—扫一扫下面的二维码
关注 完美Excel
微信扫一扫关注公众号