Форум: "Основная";
Текущий архив: 2017.08.06;
Скачать: [xml.tar.bz2];
ВнизExcell как OLE Object Найти похожие ветки
← →
harisma © (2012-11-12 17:21) [0]Работаю с Excell как с OLE Object. Создаю его так:
var
ex, wb, ws, sb: oleVariant;
begin
Ex := CreateOleObject("Excel.Application");
SB := Ex.DisplayStatusBar;
Ex.Interactive := False;
Ex.ScreenUpdating := False;
Ex.DisplayStatusBar := False;
WB := Ex.Workbooks.Add(-4167);
WS := WB.WorkSheets[1];
........
Далее идет заполнение сетки листа данными, включая форматирование, формулы, данные и т. д.
То есть, в цикле бегается по исходным данным, также оформленным в виде сетки, и заполняется страница книги в Excell.
Сам процесс сбрасывания данных отображается на прогрессбаре в программе.
Приложение Excell запущено в фоновом режиме. Когда все данные сброшены, только тогда делаем Excell видимым пользователю.
Вот финальная часть кода:
Ex.Visible := True; // Только теперь делаем приложение видимым
Ex.Interactive := True;
Ex.ScreenUpdating := True;
Ex.DisplayStatusBar := SB;
И все бы тут хорошо, но на форме с прогресссбаром есть кнопка "Прервать". При нажатии на нее сброс данных в книгу Excell прекращается, но само приложение так и остается запущеным в фоновом режиме (это видно в диспетчере задач).
Поэтому вопрос: как программно "убить" именно этот процесс Excell, если была нажата кнопка "Прервать", причем чтобы случайно не был "убит" чужой процесс.
← →
Ega23 © (2012-11-12 17:49) [1]
if Нажата_кнопка_прервать then
begin
Ex.Quit;
Ex := null;
end;
← →
harisma © (2012-11-12 18:06) [2]
> if Нажата_кнопка_прервать then
> begin
> Ex.Quit;
> Ex := null;
> end;
Так уже пробовал - не срабатывает :( Все равно остается в памяти процесс.
А если написать 2 раза quit (как советуют на одном из форумов), тогда ругается что так делать нельзя :(
← →
Anatoly Podgoretsky © (2012-11-12 18:27) [3]> harisma (12.11.2012 18:06:02) [2]
Ну так использую не Ole, а COM объект
← →
harisma © (2012-11-12 18:32) [4]Нашел решение :)!!!
Надо перед Ex.Quit еще выставить Ex.DisplayAlerts := False. Тогда все классно закрывается.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2017.08.06;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.001 c