如何将错误号码捕获到一个variables中

我已经在Excel VBA中写了一个代码,最初检查定义的Word文档是否已经打开。

If IsFileOpen(pathh) Then MsgBox " Already in use" Else MsgBox "Not in use" End If Function IsFileOpen(pathh As String) Dim filenum As Integer, errnum As Integer On Error Resume Next ' Turn error checking off. filenum = FreeFile() ' Get a free file number. ' Attempt to open the file and lock it. On Error Resume Next Open pathh For Input Lock Read As #filenum Close filenum ' Close the file. errnum = Err ' Save the error number that occurred. On Error GoTo 0 ' Turn error checking back on. ' Check to see which error occurred. Select Case errnum ' No error occurred. ' File is NOT already open by another user. Case 0 IsFileOpen = False ' Error number for "Permission Denied." ' File is already opened by another user. Case 70 IsFileOpen = True ' Another error occurred. Case Else Error errnum End Select End Function 

但问题是我得到了错误70(权限被拒绝),如果我已经打开之前运行此代码的文档,但它没有得到馈送里面的select案例代码段。

相反,它会抛出并停止代码的进一步执行。

  Open pathh For Input Lock Read As #filenum 

在这里输入图像说明

我想捕获错误号码,并将其馈送到select的情况下,无论文件是否打开,它都将显示相应的消息