最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

VBA技巧43 判断指定工作簿是否打开

来源:动视网 责编:小OO 时间:2025-09-23 23:51:22
文档

VBA技巧43 判断指定工作簿是否打开

技巧1判断指定工作簿是否打开1-1遍历Workbooks集合方法通过遍历当前应用程序所有已打开的工作簿文件(Workbooks集合),判断指定名称的工作簿是否打开,如下面的代码所示。#001SubWorkbookIsOpen_1()#002DimWbAsWorkbook#003DimmyWbAsString#004myWb="ExcelHome.xls"#005ForEachWbInWorkbooks#006IfWb.Name=myWbThen#007MsgBox"工作簿"&myWb&"已经被
推荐度:
导读技巧1判断指定工作簿是否打开1-1遍历Workbooks集合方法通过遍历当前应用程序所有已打开的工作簿文件(Workbooks集合),判断指定名称的工作簿是否打开,如下面的代码所示。#001SubWorkbookIsOpen_1()#002DimWbAsWorkbook#003DimmyWbAsString#004myWb="ExcelHome.xls"#005ForEachWbInWorkbooks#006IfWb.Name=myWbThen#007MsgBox"工作簿"&myWb&"已经被
技巧1 判断指定工作簿是否打开

1-1遍历Workbooks集合方法

通过遍历当前应用程序所有已打开的工作簿文件(Workbooks集合),判断指定名称的工作簿是否打开,如下面的代码所示。

#001  Sub WorkbookIsOpen_1()

#002      Dim Wb As Workbook

#003      Dim myWb As String

#004      myWb = "Excel Home.xls"

#005      For Each Wb In Workbooks

#006          If Wb.Name = myWb Then

#007              MsgBox "工作簿" & myWb & "已经被打开!"

#008              Exit Sub

#009          End If

#010      Next

#011      MsgBox "工作簿" & myWb & "没有被打开!"

#012  End Sub

代码解析:

WorkbookIsOpen_1过程通过遍历当前应用程序中所有已打开的工作簿文件(Workbooks集合),判断“Excel Home”工作簿是否打开。

第5行代码使用For...Each...Next语句来遍历Workbook对象集合中的所有元素。

第6行到第8行代码如果Workbook对象集合包含“Excel Home.xls”工作簿名称,说明文件已打开,使用Exit Sub语句结束代码的运行。

第11行代码如果运行到此行代码说明“Excel Home.xls”工作簿没有被打开。

1-2错误处理方法

使用错误处理程序判断指定名称的工作簿是否打开,如下面的代码所示。

#001  Sub WorkbookIsOpen_2()

#002      Dim Wb As Workbook

#003      Dim myWb As String

#004      myWb = "Excel Home.xls"

#005      Err.Clear

#006      On Error GoTo line

#007      Set Wb = Application.Workbooks(myWb)

#008      MsgBox "工作簿" & myWb & "已经被打开!"

#009      Set Wb = Nothing

#010      Exit Sub

#011  line:

#012      MsgBox "工作簿" & myWb & "没有被打开!"

#013      Set Wb = Nothing

#014  End Sub

代码解析:

WorkbookIsOpen_2过程使用错误处理程序判断“Excel Home”工作簿是否打开。

第5行代码使用Clear方法清除Err对象的所有属性设置。

第6行代启动错误处理程序,如果第7行代码发生错误则执行line行后面的代码。

第7行代码使用Set语句将Workbook对象引用赋给变量Wb,如果 “Excel Home.xls”工作簿没有被打开将发生下标越界错误,此时执行第12、13行代码,否则执行第8、9行代码。

文档

VBA技巧43 判断指定工作簿是否打开

技巧1判断指定工作簿是否打开1-1遍历Workbooks集合方法通过遍历当前应用程序所有已打开的工作簿文件(Workbooks集合),判断指定名称的工作簿是否打开,如下面的代码所示。#001SubWorkbookIsOpen_1()#002DimWbAsWorkbook#003DimmyWbAsString#004myWb="ExcelHome.xls"#005ForEachWbInWorkbooks#006IfWb.Name=myWbThen#007MsgBox"工作簿"&myWb&"已经被
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top