Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.09.2009, 16:28   #1
Dozent
Форумчанин
 
Регистрация: 21.05.2008
Сообщений: 495
По умолчанию Процес Excel висит постоянно

Здраствуйте... Я понимаю что таких тем куча, извините времени в обрез!
Есть код выгрузки данных в Ексель

Код:
uses ...comobj...


var
  Form1: TForm1;
  ff:string;
  wss: WideString;
  ExcelApp, Workbook, Range, Cell1, Cell2, VData : Variant;




procedure TForm1.Button6Click(Sender: TObject);
  var Excel:variant;
begin
ExcelApp:= CreateOleObject('Excel.Application'); 
ExcelApp.Application.EnableEvents:= false; 
ExcelApp.Visible:=False; 
Workbook := ExcelApp.WorkBooks.Add; 
Table1.First;
For i:=1 to Table1.RecordCount do
  begin
   For j:=1 to Table1.FieldCount do
    begin
        If i=1 then
           begin
            VData:=DBGrid1.Columns[j-1].Title.Caption;
            WorkBook.WorkSheets[1].Cells[i, j].Value:=VData;
           end;
        VData:=DBGrid1.Fields[j-1].Text;
        WorkBook.WorkSheets[1].Cells[i+1, j].Value:=VData;
         WorkBook.WorkSheets[1].Columns.Item[j].Autofit;
     end;
  Table1.Next;
  end;
ff:='C:\CAGemer\'+DateTimeToStr(Date)+'.xls';
WorkBook.SaveAs(ff); 
ExcelApp.Quit; 
ShellExecute(Handle,0,'taskkill /IM excel* /T /F',nil,nil,SW_SHOW);// добавил эту команду в надежде...
Excel := CreateOleObject('Excel.Application');
Excel.Workbooks.Open(ff);
Excel.Visible:=True;
end;
Проблема в том что весит процес Excel.exe и привыключение компа постоянно просит выбрать действия с "книга1". Отрубать процес не поулчилось...

Подскажите ешё как можно сделать. ЗАранее благодарю
Dozent вне форума Ответить с цитированием
Старый 24.09.2009, 16:41   #2
pesi
Подтвердите свой е-майл
 
Регистрация: 05.03.2009
Сообщений: 65
По умолчанию

ExcelApp.activeWorkBook.close;
ExcelApp.Quit;
ExcelApp:=unassigned;

Последний раз редактировалось Stilet; 24.09.2009 в 16:52.
pesi вне форума Ответить с цитированием
Старый 24.09.2009, 16:52   #3
Dozent
Форумчанин
 
Регистрация: 21.05.2008
Сообщений: 495
По умолчанию

Благодарю! То что нужно, помогло!!!
Dozent вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программа ведёт учёт Электричества и Газа, постоянно работает, есть экспорт в Excel Gennadij2 Microsoft Office Excel 3 24.03.2009 12:41
Как сделать, чтобы процес небыло видно в Диспетчере задач? HunterMan Win Api 1 25.06.2008 21:34
Все висит пока выполняется процедура XPAiN Общие вопросы Delphi 3 07.05.2008 15:03
Delphi 7 перестал выполнять процес компиляции!!! aesoem Общие вопросы Delphi 5 07.04.2008 10:44
Программа висит при действии Lonix Работа с сетью в Delphi 1 21.04.2007 19:30