Господа, прошу прощения если вопрос где-то был раскрыт, но прочитав все темы в поиске по запросу (как в заголовке) ответа я не нашел.
Вступление:
Имеется наипростейшая процедурка смысл которой таков: есть открытая активная книга "расчет картона (разработка), необходимо открыть в фоне книгу "productionplanR14" и снова активировать книгу "расчет картона (разработка)".
Код таков:
Sub ProductionPlan()
Application.ScreenUpdating = False
'Application.ShowWindowsInTaskbar = False
Application.Workbooks.Open ("F:\ProductionPlanR14.xls") 'открываем необходимую книгу
Application.Workbooks("расчет картона (разработка).xls").Activate 'активируем изначальную книгу
'Application.ShowWindowsInTaskbar = True
Application.ScreenUpdating = True
End Sub
Изначально в процедуре естественно не было строчек Application.ShowWindowsInTaskbar, которые в коде выше помечены как комментарии.
Результат вышеописанного кода в экселе выполняется правильно, то есть запустив макрос в текущей открытой книге, в фоне открывается 2я книга и активной остается 1я книга. Однако в панели задач почему то активной отображается 2я книга, а не первая.
При убирании ковычек со строчек Application.ShowWindowsInTaskbar, после выполнения макроса, в панели задач активным показывается правильная книга (изначальная из которой и запускался макрос)
Вопрос:
почему Application.ScreenUpdating так работает странно, как избежать этого "бага" без прописывания дополнительных строчек с Application.ShowWindowsInTaskbar.
Надеюсь описал непонятный момент доступно...
Вступление:
Имеется наипростейшая процедурка смысл которой таков: есть открытая активная книга "расчет картона (разработка), необходимо открыть в фоне книгу "productionplanR14" и снова активировать книгу "расчет картона (разработка)".
Код таков:
Sub ProductionPlan()
Application.ScreenUpdating = False
'Application.ShowWindowsInTaskbar = False
Application.Workbooks.Open ("F:\ProductionPlanR14.xls") 'открываем необходимую книгу
Application.Workbooks("расчет картона (разработка).xls").Activate 'активируем изначальную книгу
'Application.ShowWindowsInTaskbar = True
Application.ScreenUpdating = True
End Sub
Изначально в процедуре естественно не было строчек Application.ShowWindowsInTaskbar, которые в коде выше помечены как комментарии.
Результат вышеописанного кода в экселе выполняется правильно, то есть запустив макрос в текущей открытой книге, в фоне открывается 2я книга и активной остается 1я книга. Однако в панели задач почему то активной отображается 2я книга, а не первая.
При убирании ковычек со строчек Application.ShowWindowsInTaskbar, после выполнения макроса, в панели задач активным показывается правильная книга (изначальная из которой и запускался макрос)
Вопрос:
почему Application.ScreenUpdating так работает странно, как избежать этого "бага" без прописывания дополнительных строчек с Application.ShowWindowsInTaskbar.
Надеюсь описал непонятный момент доступно...