Я работаю над проектом, который открывает файл Excel, который загружается примерно за 15 секунд при запуске макроса. Однако после открытия файла перемещение по листам происходит очень быстро. В настоящее время у нас есть макрос, закрывающий документ Excel, когда пользователь заканчивает с ним. Я хочу изменить код, чтобы оставить его открытым, чтобы документ Excel открывался только один раз, а макрос мог использовать его несколько раз. Как я могу установить документ Excel в фоновом процессе в качестве активной книги? Я знаю, что он открыт, поскольку для проверки я использовал следующий код.
Я безуспешно пытался .select и .activate.
DROP_OPT_FILE = SOME_EXCEL_DOC.XLSX
Sub Some_sub()
If IsWorkBookOpen(DROP_OPT_FILE) = "True" Then
MsgBox FileName & " is open"
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