vba 判断数组是否为空_VBA中判断工作薄是否打开及备份工作薄之过程代码

4e3f8c59d69d2c36e0427314e5e1922d.png

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

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

4e9e3c4df1c96ca2961ecb5cab17b93d.png

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”代表所要打开的工作簿名称。

3a5ade6fd1727f93a88df09a2fb16108.png

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方法。

53beefd44d03b52335ef12f36ab5bae6.png

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

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

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

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

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值