Использую позднее связывание. Файл создавался в экселе более ранней версии и при закрытии эксель предлагает сохранить его в новом формате. Кнопку «отмена» руками жать все время не прикольно, так как все файлы такие и их будет не мало.
Excel.Application.DisplayAlerts := False; Excel.Quit
> ShiFT (16.11.05 14:01) [1]Спасибо ! Все работает.
А вот в конце не забудь вернуть опять в True, иначе если кто-то открыл свой документ, изменил в нём что-то, а после ты выставил DisplayAlerts := False; то при закрытии Excel даже не подумает спросить юзера о сохранении. Excel.Quit — тоже жестоко по тем причинам, что в Excelе уже может быть открыт какой-то документ, открытый не твоей программой, а следовательно, не тебе его закрывать. Закрывать надо книгу, ну или проверять на ол-во открытых книг, если много — закрыть книгу, если одна — Excel.
try Excel := GetActiveOleObject( "Excel.Application"); except Excel := CreateOleObject( "Excel.Application"); end;
При такой конструкции. Да наверное Жестоко Закрывать через Excel.Quit.а если использовать только Excel := CreateOleObject( "Excel.Application");
то создастся отдельное окно( процесс), которое можно закрывать.по поводу закрытия, ещё можно использовать WBook.Close( SaveChanges := False); // Закрыть без сохранения.
Наверх