vba怎样判定工作薄是否打开

2025-10-14 06:23:08

1、我们在vba的开发过程中需要检测一个工作薄是否被打开,这里以检测 abc.xlsx 为例

vba怎样判定工作薄是否打开

2、打开一个excel工作薄,点击开发工具->打开开发的vbe环境,或使用alt + F11快捷键打开VBE环境。

vba怎样判定工作薄是否打开

vba怎样判定工作薄是否打开

3、在VBE的开发环境中插入一个工程

vba怎样判定工作薄是否打开

vba怎样判定工作薄是否打开

4、然后在新打开的模块环境中插入如下代码

Option Explicit

Sub WbIsOpenTwo()

    Dim Wb As Workbook

    Dim WbName As String

    WbName = "abc.xlsx"

    On Error GoTo line

    Set Wb = Application.Workbooks(WbName)

    MsgBox "工作簿" & WbName & "已经被打开!"

    Exit Sub

line:

    MsgBox "工作簿" & WbName & "没有被打开!"

End Sub

vba怎样判定工作薄是否打开

5、此时关闭 abc.xlsx,然后点击运行按钮 运行程序。

vba怎样判定工作薄是否打开

6、弹出对话框  显示工作薄没有被打开

vba怎样判定工作薄是否打开

7、打开 abc.xlsx .重新运行程序。弹出对话框显示工作薄已经打开。

vba怎样判定工作薄是否打开

vba怎样判定工作薄是否打开

1、前面几个步骤打开vbe环境与方法一相同,这里不再赘述。同样的方式新建模块。

vba怎样判定工作薄是否打开

vba怎样判定工作薄是否打开

vba怎样判定工作薄是否打开

2、然后在新建的模块里面插入如下代码:

Option Explicit

Sub WbIsOpenOne()

    Dim Wb As Workbook

    Dim WbName As String

    WbName = "abc.xlsx"

    For Each Wb In Workbooks

        If Wb.Name = WbName Then

            MsgBox "工作簿" & WbName & "已经被打开!"

            Exit Sub

        End If

    Next

    MsgBox "工作簿" & WbName & "没有被打开!"

End Sub

vba怎样判定工作薄是否打开

3、注意到此时abc.xlsx 已经打开。然后点击运行按钮。

vba怎样判定工作薄是否打开

4、弹出对话框显示 工作薄已打开。

vba怎样判定工作薄是否打开

5、把abc.xlsx工作薄关闭,然后再次点击运行程序。显示对话框  工作薄已关闭。

vba怎样判定工作薄是否打开

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢