检查工作簿是否打开vba,如果文件打开则崩溃

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

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 

这本来是一个被发现是对这个问题的正确解决scheme的评论,所以我把它作为一个答案join:

也许在你的VBA编辑器中有一个选项。 打开VBA编辑器,进入工具 – >选项 – >常规 – >,然后在“错误陷印”部分select“中断未处理的错误” – >确定。 你可能会被设置为“打破所有错误”。