В VBA (из MS Access) Я пытаюсь определить, если файл XLS ОТКРЫТ с помощью вызова следующей функции, посылая полный путь и имя файла:IsFileOpen() Файл NeverSees как открыт?
Function IsFileOpen(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: IsFileOpen = False
Case 70: IsFileOpen = True
Case 53: IsFileOpen = False ' File not found
Case Else: Error ErrNo
End Select
End Function
Эта процедура только когда-либо возвращает (0) - Файл Закрыто - независимо от состояния файла. Я подтвердил, что путь и имя файла верны, построены в Access следующим образом:
strPath = Left(CurrentDb.NAME, InStrRev(CurrentDb.NAME, "\"))
myFile = strPath & myInvID & "ChangeTemplate.xlsx"
Любые мысли, что мне может не хватать здесь?
Спасибо!
Примечание: Рутинное делает см Err 53 - Файл не найден. Я добавил это условие к утверждению Case. –