В обычной ситуации, когда ваше приложение просто закрывается, вы можете подписаться на MyApplication.Shutdown
событие и закрыть там свои документы Excel.
Подписаться на событие можно с помощью следующих шагов:
Щелкните правой кнопкой мыши свой проект в Solution Explorer
и нажмите Properties
.
Перейдите на панель Application
и нажмите View Application Events
.
В открывшемся файле либо напишите свой обработчик событий самостоятельно, либо дайте VS сделать это, сначала выбрав (MyApplication Events)
в левом поле со списком над текстовым редактором, затем выбрав Shutdown
в правом поле со списком.
Теперь у вас должен быть обработчик событий, похожий на приведенный ниже. Просто иди и сделай свою уборку там:
Private Sub MyApplication_Shutdown(sender As Object, e As System.EventArgs) Handles Me.Shutdown
'Do your cleanup here...
End Sub
Для сбоев приложений, вызванных исключениями CLR, вы можете использовать событие AppDomain.UnhandledException
, но для более серьезных сбоев вы не можете сделать очень много.
Обходной путь может заключаться в создании другого приложения, которое отслеживает ваше основное приложение. Когда другое приложение обнаружит, что процесс вашего основного приложения завершен, он закроет документы Excel. Сложная часть этого решения - передача информации, необходимой другому приложению для закрытия документов.