乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > excel文件打不开-VBA判断工作薄是否打开及备份工作薄之过程代码

excel文件打不开-VBA判断工作薄是否打开及备份工作薄之过程代码

作者:乔山办公网日期:

返回目录:excel表格制作

分享成果,随喜真能量。大家好,今天继续和大家分享VBA编程中常用的简单"积木"过程代码第74-75讲。这也是我"搭积木"编程中利用到的积木库。


越简单的事物往往越容易理解,简单的过程组合起来就是一个复杂的过程,我们要先认真掌握这些简单的过程,才能在可以为我们复杂的工程服务。


VBA过程代码74:判断工作簿是否已打开,'如果该工作簿已打开则子过程返回真


Sub MyNZ()


MsgBox "如果工作簿未打开,则打开该工作簿."


If Not WorkbookOpen("工作簿名.xls") Then


Workbooks.Open "工作簿名.xls"


End If


End Sub


Function WorkbookOpen(WorkBookName As String) As Boolean


WorkbookOpen = False


On Error GoTo WorkBookNotOpen


If Len(Application.Workbooks(WorkBookName).Name) > 0 Then


WorkbookOpen = True


MsgBox "该工作簿已打开"


Exit Function


End If


WorkBookNotOpen:


End Function


代码的解析说明:本示例中的函数WorkbookOpen用来判断工作簿是否打开。代码中,"工作簿名.xls"代表所要打开的工作簿名称。


VBA过程代码75:用与活动工作簿相同的名字但后缀名为.bak备份工作簿


Sub MyNZ()


Dim awb As Workbook, BackupFileName As String, i As Integer, OK As Boolean


If TypeName(ActiveWorkbook) = "Nothing" Then Exit Sub


Set awb = ActiveWorkbook


If awb.Path = "" Then


Application.Dialogs(xlDialogSaveAs).Show


Else


BackupFileName = awb.FullName


i = 0


While InStr(i + 1, BackupFileName, ".") > 0


i = InStr(i + 1, BackupFileName, ".")


Wend


If i > 0 Then BackupFileName = Left(BackupFileName, i - 1)


BackupFileName = BackupFileName & ".bak"


OK = False


On Error GoTo NotAbleToSave


With awb


Application.StatusBar = "正在保存工作簿..."


.Save


Application.StatusBar = "正在备份工作簿..."


.SaveCopyAs BackupFileName


OK = True


End With


End If


NotAbleToSave:


Set awb = Nothing


Application.StatusBar = False


If Not OK Then


MsgBox "备份工作簿未保存!", vbExclamation, ThisWorkbook.Name


End If


End Sub


代码的解析说明:在当前工作簿中运行本示例代码后,将以与工作簿相同的名称但后缀名为.bak备份工作簿,且该备份与当前工作簿在同一文件夹中。其中,使用了工作簿的FullName属性和SaveCopyAs方法。


下面是我根据自己20多年的VBA实际利用经验,编写的四部经验教程,这些是较大块的"积木",可以独立的完成某些或者某类系统的过程,欢迎有需要的朋友联络(WeChat:NZ9668)分享。利用这些可以提高自己的编程效率,选择好积木,搭好积木。


第一套:《VBA代码解决方案》是VBA中各个知识点的讲解,覆盖了绝大多数的知识点。


第二套:《VBA数据库解决方案》是数据处理的利器;


第三套:《VBA数组与字典解决方案》中讲解VBA的精华----字典。


第四套:面向初学及中级以下学员的视频《VBA代码解决方案》正在录制。 "每天20分钟,半年精进VBA"活动正在火热进行中,越早参与,回馈越多。现在第一册48讲内容已经录制完成。录制到第二册59讲的课程。


上述教程中第一、二、三是PDF教程,第四套教程是视频教程。其中视频教程的优惠活动正在进行中。


相关阅读

关键词不能为空

ppt怎么做_excel表格制作_office365_word文档_365办公网