Я получил ошибку автоматизации и до сих пор не смог ее предотвратить. Поскольку кажется, что причина этого может сильно отличаться от случая к случаю, я постараюсь описать мой проект:
Внутри рабочей книги внешнего интерфейса есть весь код, а внутри есть внутренняя рабочая книга. это соответствующие данные. При запуске веб-интерфейс открывает бэкэнд, как этот
Set daten_betrieb = Workbooks.Open(speicherort & "GB-Backend-" & kuerzel_betrieb & ".xlsx", _
UpdateLinks:=0, _
ReadOnly:=True, _
IgnoreReadOnlyRecommended:=True, _
Notify:=False, _
CorruptLoad:=xlNormalLoad)
Все работает нормально, кроме случаев, когда пользователь вручную открывает бэкэнд и закрывает его, пока веб-интерфейс все еще открыт. Я добавил следующую строку в код If daten_betrieb Is Nothing Then Call backend_betrieb
backend_betrieb - это подпрограмма, которая использует метод Workbooks.Open, упомянутый ранее.
Несмотря на то, что бэкэнд открыт (снова), я все равно получаю 2147221080 - Ошибка автоматизации в этой строке:
If daten_betrieb.Sheets("Arbeitsmittel & AKZ").Cells(1, i).Value = Arbeitsmittel Then
daten_betrieb относится к недавно открытой книге, которая устанавливается на это имя .. почему это проблема? Есть идеи?
Заранее спасибо!
Редактировать: Может быть, проблема в If backend_betrieb Is Nothing Then call backend_betrieb
При переходе я вижу, что Excel не прыгает в подпрограмму backend_betrieb () , Неужели Excel почему-то думает, что имя / переменная "backend_betrieb" все еще там -> не Nothing. Но Рабочая тетрадь за ней закрыта, что приводит к ошибке ?!