Пожалуйста, попробуйте этот код.
Sub TestInVis()
Dim Wb As Workbook
Dim Fn As String
Fn = FileOpenName("Test")
Application.ScreenUpdating = False
Set Wb = Workbooks.Open(Fn)
Wb.Windows(1).Visible = False
Application.ScreenUpdating = True
End Sub
Перед этим, пожалуйста, установите переменную Fn
, чтобы она содержала правильное имя файла, вместе с его путем. (Я использовал функцию с именем FileOpenName
, которая вызывает диалог FilePicker .) Код откроет указанную книгу и скроет ее окно, оставив ранее отображенное окно сверху.
В моем тестируйте, действие Open
не восстанавливало обновление экрана, но я не уверен, что его отключение имеет значение. При открытии рабочей книги мерцание, и я подумал, что оно менее заметно при ScreenUpdating = False
. Это будет продлено, однако, если файл большой. Так или иначе, файл открывается невидимо, и вы можете получить к нему доступ через переменную объекта, которой он был назначен.
Затем я протестировал ту же процедуру с Workbooks.Add
. Все, что я сказал о Open
, применимо в равной степени, за исключением того, что новая рабочая книга, конечно, очень мала. Поэтому еще сложнее сказать, действительно ли ScreenUpdating
имеет значение.