Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.07.14;
Скачать: [xml.tar.bz2];

Вниз

TExcelApplication, завершение процесса EXCEL.EXE   Найти похожие ветки 

 
Pentium 5   (2003-07-01 12:51) [0]

Как завершить процесс Excel после создания отчета? А то если моя прога еще работает, я не могу открыть созданный отчет. Если я прибиваю EXCEL.EXE в диспетчере задач все в порядке открывается. Заранее спасибо.


 
clickmaker   (2003-07-01 12:55) [1]

ExcelApplication.Quit


 
Pentium 5   (2003-07-01 13:09) [2]

Ни фига не работает. В процессах EXCEL.EXE все равно присутствует. Из панели задач после выполнения Quit Excel исчезает.


 
Bel   (2003-07-01 13:17) [3]

Чтобы иметь доступ к созданному отчёту необязательно завершать Excel. Достаточно закрыть файл отчёта. Что-то типа Workbook.Close.


 
Pentium 5   (2003-07-01 13:20) [4]

ExcelApplication.Workbooks.Close(LOCALE_USER_DEFAULT);
ExcelApplication.Quit;
ExcelApplication.Free;

И не работает.


 
Smashich   (2003-07-01 13:30) [5]

2 Pentium 5 (01.07.03 13:20)
ExcelApplication.Dissconnect;


 
Pentium 5   (2003-07-01 13:36) [6]

ExcelApplication.Workbooks.Close(LOCALE_SYSTEM_DEFAULT);
ExcelApplication.Disconnect;
ExcelApplication.Quit;
ExcelApplication.Free;


ExcelApplication.Workbooks.Close(LOCALE_SYSTEM_DEFAULT);
ExcelApplication.Quit;
ExcelApplication.Disconnect;
ExcelApplication.Free;


Ни так ни так, EXCEL все равно висит в процессах.
Можно как-нибудь получить его Handle. Я б его сразу TerminateProcess"м убил.


 
Smashich   (2003-07-01 13:40) [7]

2 Pentium 5 (01.07.03 13:36)
значит с ошибкой у тебя отчет формируется. и до вызовов quit. dissconnect просто не доходит дело.


 
Pentium 5   (2003-07-01 13:47) [8]

Под отладчиком проверял через F8. После Workbooks.Close(LOCALE_SYSTEM_DEFAULT); закр. книги, ExcelApplication.Quit закр. Excel, но в процессах висит. Меня это уже достало.


 
Pentium 5   (2003-07-01 13:54) [9]

Прикол вообще вот в чем. После Disconnect закр. Excel, а после Quit в диспетчере появляется второй экземпляр Excel, который удаляется после Free. Вот такая байда.


 
Smashich   (2003-07-01 13:56) [10]

ExcelApplication.Workbooks.Close();
ExcelApplication.Quit;
ExcelApplication.Disconnect;
ExcelApplication.Free;

вот так надоть.


 
Pentium 5   (2003-07-01 14:04) [11]

2 Smashich
Попробуй ради прикола.
ExcelApplication := TExcelApplication.Create(Self);

ExcelApplication.ConnectKind := ckNewInstance;
ExcelApplication.Connect;
ExcelApplication.AutoQuit := true;
ExcelWorkbook2 := ExcelApplication.Workbooks.Add(EmptyParam,LOCALE_USER_DEFAULT);
ExcelWorkBook2.Activate(LOCALE_USER_DEFAULT);
ExcelWorksheet2 := ExcelApplication.ActiveWorkbook.ActiveSheet as ExcelWorkSheet;
ExcelApplication.Visible[LOCALE_USER_DEFAULT] := true;
ExcelApplication.ActiveWorkbook.SaveAs("file.xls",
EmptyParam,EmptyParam,EmptyParam,EmptyParam,
EmptyParam,xlNoChange,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,LOCALE_USER_DEFAULT);

ExcelApplication.Workbooks.Close(LOCALE_USER_DEFAULT);
ExcelApplication.Quit;
ExcelApplication.Disconnect;
ExcelApplication.Free;

Я не знаю в чем прикол. Но EXCEL живучий гад.


 
Smashich   (2003-07-01 14:18) [12]

во первых можешь делать вот так:

ExcelApplication:= TExcelApplication.Create(Self);
ExcelApplication.ConnectKind := ckNewInstance;
ExcelApplication.Connect;
ExcelApplication.AutoQuit := true;
ExcelApplication.Workbooks.Add(EmptyParam,LOCALE_USER_DEFAULT);
ExcelApplication.Visible[LOCALE_USER_DEFAULT] := true;
ExcelApplication.ActiveWorkbook.SaveAs("file.xls",
EmptyParam,EmptyParam,EmptyParam,EmptyParam,
EmptyParam,xlNoChange,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,LOCALE_USER_DEFAULT);
ExcelApplication.Workbooks.Close(LOCALE_USER_DEFAULT);
ExcelApplication.Quit;
ExcelApplication.Disconnect;
ExcelApplication.Free;

и все будет путем.
а во вторых

var
ExcelApplication:TExcelApplication;
begin
ExcelApplication := TExcelApplication.Create(Self);
ExcelApplication.ConnectKind := ckNewInstance;
ExcelApplication.Connect;
ExcelApplication.AutoQuit := true;
ExcelWorkbook1.ConnectTo(ExcelApplication.Workbooks.Add(EmptyParam,LOCALE_USER_DEFAULT));
ExcelWorkBook1.Activate(LOCALE_USER_DEFAULT);
ExcelWorksheet1.ConnectTo(ExcelApplication.ActiveWorkbook.ActiveSheet as ExcelWorkSheet);
ExcelApplication.Visible[LOCALE_USER_DEFAULT] := true;
ExcelApplication.ActiveWorkbook.SaveAs("file.xls",
EmptyParam,EmptyParam,EmptyParam,EmptyParam,
EmptyParam,xlNoChange,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,LOCALE_USER_DEFAULT);
ExcelApplication.Workbooks.Close(LOCALE_USER_DEFAULT);
ExcelApplication.Quit;
ExcelApplication.Disconnect;
ExcelWorkbook1.Disconnect;
ExcelWorksheet1.Disconnect;
ExcelApplication.Free;
end;






 
Pentium 5   (2003-07-01 14:42) [13]

У ExcelWorkbook1 и ExcelWorksheet1 нет метода Disconnect.


 
Smashich   (2003-07-01 14:46) [14]

ExcelWorksheet1: TExcelWorksheet;
ExcelWorkbook1: TExcelWorkbook;

в D6 все работает. лично компилил.


 
Pentium 5   (2003-07-01 15:15) [15]

Огромное спасибо!!!
Пиз##ц. Вместо ExcelWorksheet1: TExcelWorksheet поставил ExcelWorksheet1: ExcelWorksheet, вот в чем глюк.
Теперь все рулезно работает.

ЗЫ. Ты забыл
ExcelWorksheet1 := TExcelWorksheet.Create(Self);
ExcelWorkbook1 := TExcelWorkbook.Create(Self);
Еще раз большое спасибо.


 
Smashich   (2003-07-01 15:20) [16]

2 Pentium 5 (01.07.03 15:15)
я не забыл - просто бросил на форму
ExcelWorksheet1 и ExcelWorkbook1:) - не люблю ими пользоваться

з.ы.

обращайся:)



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2003.07.14;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.015 c
1-44702
Some0ne
2003-06-30 02:48
2003.07.14
Рисование на десктопе


4-44952
sapsi
2003-05-13 10:55
2003.07.14
Список всех функций внутри ДЛЛ


6-44791
nv-vetal
2003-05-09 17:13
2003.07.14
Подскажите, как создать интернет-приложение, используя ...


14-44891
Knight
2003-06-25 20:26
2003.07.14
Преобразователь имен...


7-44913
Brain Force
2003-04-28 19:21
2003.07.14
Перезагрузка Виндов





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский