Форум: "Основная";
Текущий архив: 2002.09.02;
Скачать: [xml.tar.bz2];
Внизотчет в Excel е клепаю, а он потом остается задачей... Найти похожие ветки
← →
propeller (2002-08-21 23:38) [0]Здравствуйте, Мудрейшие!!!!
Я делаю довольно сложный отчет с помощью
MyExcel: variant;
...
MyExcel:=CreateObject("Excel.Application")
...
и через OLE все выгружаю
проблема в том, что после генерации отчета я хочу чтобы мое приложение "забыло" про Excel совсем (MyExcel надо как то освободить), а юзеру остался бы запущеный Excel с заполненным файлом, который он уже ручками сохранит там, или отмылит (ексельскми средствами) а не понравится - прибьет и перегенерит до победного.
VarClear не помогает, в результате после работы приходится руками убивать 10-15 висящих в списке процессов (даже не задач!)Excel"ей, что не представляется единственно верным.
А еще - отчет генерится несколько минут и если юзер в это время пытается открыть другой xls с диска, то зачастую он открывается в "моем" Экселе и все слетает (мой отчет начинает генерится в файл пользователя).
Надо, полагаю, создавать как-то такой Excel, который не воспринимал бы ничьих обращений (кроме моих) и потом "отпускать" его обычной задачей, что бы он не повисал нигде, НО КАК ??? .
Очень буду рад, если кто посоветует, спасибо!
← →
Jeer (2002-08-21 23:53) [1]try
ExcelApp:=GetActiveOleObject("Excel.Application");
except
ExcelApp:=CreateOleObject("Excel.Application");
end;
...
ExcelApp.Workbooks.Close;
ExcelApp.Application.Quit;
ExcelApp := UnAssigned;
← →
propeller (2002-08-22 23:35) [2]Так ведь опосля
ExcelApp.Workbooks.Close;
ExcelApp.Application.Quit;
мой сгенеренный отчет, скажем так, исчезнет! а программно сохранять/диск засорять не хочу. Хочу (а точнее - надо, а еще точнее - требуют) чтоб просто Ехель оставался запущенный с открытой книгой-отчетом
а как после начала генерации отчета предотвратить открытие "моим" Ехелем книги, на которую дабл-кликнули в проводнике?
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.09.02;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.009 c