Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

А если Excel закрыт???? [D5, Win2k]


Chuk45 ©   (2004-10-08 12:18:00) 

Добрый день всем.
Подключаюсь так:
Excel := CreateOleObject('Excel.Application');
   Excel.Visible := True;

   WBk := Excel.WorkBooks.Open(ExcelPath);

   WS := WBk.Worksheets.Item['Лист1'];

Отключаюсь так:
WS:=Unassigned;
       WBk.Close;
       WBk:=Unassigned;
       Excel.Quit;
       Excel := Unassigned;

Но вот если Excel был закрыт до отключения, то вываливается ошибка "Вызываемый объект был отключён".

Как этого избежать/обработать (кроме, конечно, "не закрывай Excel до отключения" :))?


_iceman_   (2004-10-08 16:11:00) [1]

if not VarIsEmpty(Excel) then
 Excel.Quit;


KSergey   (2004-10-08 14:01:00) [2]

Ну дык убери WBk.Close и Excel.Quit  ;)


Chuk45   (2004-10-08 13:55:00) [3]

YurikGL ©   (08.10.04 12:55) [3]
Я тоже хотел так сделать, но отключение:
      WS:=Unassigned;
      WBk.Close;
      WBk:=Unassigned;
      Excel.Quit;
      Excel := Unassigned;
выхывает диалог закрытия самого Excel'я.


KSergey   (2004-10-08 13:02:00) [4]

К стати, у родного TExcelApp - нет ои чего-то вроде OnClose? (только как реализовать - не знаю; см. vcl)


YurikGL   (2004-10-08 12:55:00) [5]


> Chuk45   (08.10.04 12:18)  

Советую делать так:
Подключился. Выбросил в ексель все что надо и сразу отключился. Если надо что-то еще выбрасывать - подключаемся вновь.


Chuk45   (2004-10-08 12:25:00) [6]

К сожалению, отображать надо.


KSergey   (2004-10-08 12:24:00) [7]

Да никак и не обрабатывать.
Ну если уж так пугает - ну подавить try/except, хотя зачем? А может не отображать эксель просто? Дабы и закрыть-то его пользователь сам не мог...


Наверх

Титульная страница Поиск, карта сайта Написать письмо