Имеем подобный код, который должен открыть файл (книгу EXCEL) в режиме только чтение, скопировать из неё данные в массив, и затем закрыть книгу:
Public Const VBAPath As String = "D:\path\to\file\"
Public Const DevDBFileName As String = "Файл.xlsx"
Sub Prof_DevDB()
If Len(Dir(VBAPath & DevDBFileName)) > 0 Then
Application.ScreenUpdating = False
Application.EnableEvents = False
Workbooks.Open VBAPath & DevDBFileName, ReadOnly:=True
' Здесь копируем данные из файла в массив
Workbooks(DevDBFileName).Close 'Savechanges:=False
Application.ScreenUpdating = True
Application.EnableEvents = True
Else
MsgBox "Файл не найден!"
End If
End Sub
При этом окно открываемой книги не отображается (Application.ScreenUpdating = False), но на короткое время отображается его вкладка в панели задач. Так вот, как сделать, чтобы эта вкладка не отображалась, то есть чтобы файл открывался полностью скрытно для пользователя?
Как вариант, работает следующее: открываем нужный файл и в панели вид->окно нажимаем "Скрыть", и сохраняем. При этом файл открывается скриптом полностью скрытно, но такой вариант не очень удобен, так как каждый раз, чтобы отредактировать данный файл, нужно вручную отображать его окно а затем снова скрывать. Как можно это сделать средствами VBA?