0

我在这里找到了一些代码来检查工作簿是否打开,但我得到了

Run-time Error '70': Permission Denied if the file is open.

我不确定如何处理此错误或修改代码以处理此问题。

Sub Sample()
    Dim Ret

    Ret = IsWorkBookOpen("I:\RJB\Juan's Project\Summary Sheet.xlsm")

    If Ret = True Then
        MsgBox "File is open"
    Else
        MsgBox "File is Closed"
    End If
End Sub

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 'This line is highlighted when the crash occurs
    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
4

1 回答 1

2

这最初是一条评论,被发现是该问题的正确解决方案,因此我将其添加为答案:

也许是您的 VBA 编辑器中的一个选项。打开 VBA 编辑器并转到工具 -> 选项 -> 常规 -> 并在“错误捕获”部分中选择“中断未处理的错误” -> 确定。您的可能设置为“中断所有错误”。

于 2013-08-22T19:00:37.543 回答