我正在使用一些代码来打开另一个文件来获取数据。它使用我在某个地方找到的名为IsWorkBookOpen的函数来检查文件是否已经打开。下面的代码运行良好,但我试图使它在只读模式下工作。
我想做的是只在只读模式下打开文件。所以更新Workbooks.Open FileName:="R:\Development\Copy of Product Information.xlsm", ReadOnly:=True, Password:="bcd"
我尝试更新这段代码,以便在只读状态下打开文件,但是宏不识别文件已经打开(在只读模式下),并试图再次打开它。
代码语言:javascript运行复制Ret = IsWorkBookOpen("R:\Development\Copy of Product Information.xlsm")
If Ret = True Then
Workbooks("Copy of Product Information.xlsm").Activate
Sheets("Main").Select
Else
Workbooks.Open FileName:="R:\Development\Copy of Product Information.xlsm", Password:="bcd"
Sheets("Main").Select
End IfIsWorkBookOpen函数代码:
代码语言:javascript运行复制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我想知道一种修改IsWorkBookOpen以处理只读模式的方法。