我设法弄清楚了;感谢您的回复。
它是这样的:
Sub IsInputSheetOpen()
Dim Ret
Ret = IsWorkBookOpen(range("input_sheet_location_nobrackets"))
If Ret = True Then
MsgBox "Input sheet is open."
Else
MsgBox "Input sheet is not open. Auto output won't work without it."
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
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
关键是在命名范围(input_sheet_location_nobrackets)内格式化我的文件位置,而不需要方括号,以便将其用作参考。我确定以上内容很混乱,但它似乎有效!