仅在本地计算机上检查工作簿是否已打开

时间:2016-10-04 12:29:12

标签: excel-vba vba excel

我有一个VBA函数,用于检查工作簿是否已打开。它是这样的:

Public Function IsWorkBookOpen(filename As String)
    Dim ff As Long, ErrNo As Long
    On Error Resume Next
    ff = FreeFile()
    Open filename For Input Lock Read As #ff
    Close ff
    ErrNo = Err
    On Error GoTo 0
    Select Case ErrNo
        Case 0:    IsWorkBookOpen = False
        Case 70:   IsWorkBookOpen = True
        Case Else: Error ErrNo
    End Select
End Function

我在一个条件下使用它来检查工作簿是否已经打开,如果它是我关闭它,如果它不是我打开它。它运作良好,但我有一点问题。此工作簿由其他excel文件使用,当在网络上的其他计算机上打开时,此函数返回true。我需要它来检查文件是否在本地打开,因为我只是在阅读它。有人可以帮我这个吗?

提前致谢。

0 个答案:

没有答案