Excel VBA编程 判断工作簿是否打开 联系客服

发布时间 : 星期五 文章Excel VBA编程 判断工作簿是否打开更新完毕开始阅读66801562915f804d2b16c188

Excel VBA编程 判断工作簿是否打开

当用户对某个工作簿进行处理之前,可以首先判断该工作簿是否处于打开状态。在VBA中,使用Name属性可返回或设置名称本身的文本,如判断工作簿的名称。下表15-4列出了Name属性的功能。

表15-4 Name属性的功能介绍 功能 如果不使用对象识别符,则该属性返回一个Application对象,该对象表示Application Microsoft Excel应用程序。如果使用对象识别符,则该属性返回一个表示指定对象的Application对象。 返回或设置指定名称在宏语言中的分类。该名称必须针对一个自定义函数或Category 命令。 CategoryLocal 如果指定名称为自定义函数或命令,返回或设置以用户语言表示名称的类别。 Comment 返回或设置与名称关联的批注。 Index 返回Long值,它代表对象在其同类对象所组成的集合内的索引号。 IsWorkbookParameter 以工作簿参数的形式返回或设置指定的Name对象 MacroType 返回或设置名称所引用的对象。 Name 返回或设置一个String值,它代表对象的名称。 NameLocal 以用户语言返回或设置对象的名称。 Parent 返回指定对象的父对象 RefersToR1C1 返回或设置指定名称所引用的公式。 RefersToRange 返回由Name对象引用的Range对象 ShortcutKey 返回或设置定义为自定义Microsoft Excel 4.0宏命令的名称的快捷键。 ValidWorkbookParameter 如果指定的 Name 对象是有效的工作簿参数,则返回True。 Value 返回或设置一个String值,它代表规定名称去引用的公式。 Visible 回或设置一个Boolean值,它确定对象是否可见。 属性 下面通过使用Name属性来判断用户是否打开名为“工资条.xlsm”的工作簿,其代码如下: Sub test_book1() Dim xx As Workbook For Each xx In Workbooks

If xx.Name = \工资条.xlsm\MsgBox \工资条.xlsm 已打开\Exit Sub End If Next

MsgBox \End Sub

运行上面的代码,如果该工作簿是打开的,则可得到如图15-3所示的结果。如果该工作簿是关闭的,将弹出提示对话框,提示用户未打开,或显示信息为no。

显示

15-3 打开工作簿