Я строю процесс, способный последовательно запускать и запускать подпрограммы в других нескольких книгах Excel. Это контролируется мастером пакетного запуска.
Если в любой из этих электронных таблиц есть ошибка любая , программе запуска необходимо выйти из прогона этой книги и перейти к следующей книге в пакете. Этот процесс должен быть непрерывным без ввода данных пользователем, поэтому любые диалоговые окна ошибок должны быть отключены.
Упрощенный до своей сути, мой код таков:
For I = 1 To NumberOfSubsToRun
On Error GoTo ErrorHandler
Application.Run (SpreadsheetName & "!SubName")
ErrorHandler:
Next I
Некоторые из рабочих книг падают (не проблема), но они создают диалоговое окно с ошибкой, останавливая пакет в его дорожках. Кажется, что процесс забывает все о коде On Error в модуле запуска, когда он запускает вызываемую подпрограмму.
Мне не разрешено изменять код в рабочих книгах. Если они падают, они падают. Каким-то образом лаунчер должен обойти эту проблему самостоятельно.
Есть ли способ «напомнить» вызванным подпрограммам об ошибке при ошибке? Таким образом, если в какой-либо подпапке рабочей книги была ошибка, она действительно перешла бы к следующей рабочей книге?
Спасибо