Кажется, я наткнулся на проблему, которую не могу понять, как ее решить. В настоящее время я работаю с двумя отдельными книгами, одна из которых - активная книга, из которой запускается код, а другая - отдельная книга, которую мне нужно открыть:
On Error GoTo ErrorHandler:
Set manWb = ActiveWorkbook
Application.AutomationSecurity = msoAutomationSecurityForceDisable
Set conWb = Workbooks.Open(PARDirOTC & PARFileOTC, ReadOnly:=False)
Application.AutomationSecurity = msoAutomationSecurityByUI
ActiveWindow.Visible = False
On Error GoTo 0
Я установил для AutomationSecurity значение msoAutomationSecurityForceDisable, чтобы предотвратить запуск этой второй рабочей книги своего события Workbook_Open, в котором есть код, который мне не нужен в этой ситуации. Это событие обработки ошибок никогда не активируется, и код продолжает работать без проблем.
С этого момента все работает хорошо, я собираю и обмениваюсь данными между этими двумя книгами, и, похоже, ничего не происходит неправильно. То есть, пока не дойдет до того, что мне нужно будет создать лист на второй книге, называемой conWb.
Set conOT = conWb.Sheets.Add(After:=conWb.Sheets(conWb.Sheets.Count))
Это тревожная линия. Рабочий лист создан, но код неожиданно останавливается на этом этапе. Никаких сообщений об ошибках, ничего не всплывает, просто останавливается. Я заметил, что код, по-видимому, перестает выполняться и переключается на код во вновь созданном листе, который является пустым и в нем ничего нет. Я не могу понять почему.
Я оглянулся, другие люди, похоже, нашли похожие проблемы, но ни одно из их решений не помогло мне. Я пытался поиграть с несколькими настройками приложения, такими как EnableEvents, ScreenUpdating, AutomationSecurity и т. Д., Но ничего не работает. Вдобавок к коду я также пытался удалить или закомментировать все события «При ошибке», опасаясь, что они могут скрывать ошибку, которая может объяснить это поведение, но, похоже, это не так.
Я буду очень признателен, если кто-то с большим опытом, чем я, сможет выяснить, в чем причина такого поведения. Заранее спасибо.
С уважением