我试图拼凑其他几个VBA来实现这一点,但我是一个语言的初学者,所以没有运气。我想使用VBA来实现以下目标:
我99%肯定所有这些事情都是可以实现的;我根本没有把它们全部串在一起所需的技巧。因此,我真正缺乏的唯一一个难题是上面的第二个要点;其他任何事情,我都可以(希望)弄清楚。
谢谢你的时间!
答案 0 :(得分:0)
我设法弄清楚了;感谢您的回复。
它是这样的:
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)中格式化我的文件位置,而不使用您需要的方括号,以便将其用作参考。我确信上面的内容非常混乱,但似乎有效!