procedure TFrmMain.SpeedButton2Click(Sender: TObject);
begin
OpenDialog1.Filter := 'xls files(*.xls)|*.xls';
if OpenDialog1.Execute then
FName := OpenDialog1.filename;
if FName = '' then
exit;
try
XLApp:= CreateOleObject('Excel.Application');
except
ShowMessage('엑셀이 설치되어있지 않습니다.');
exit;
end;
XLApp.WorkBooks.Open(OpenDialog1.FileName);
sheetcnt := XLApp.workbooks.count ;
Sheet_Name := XLApp.Workbooks[sheetcnt].WorkSheets[1].Name ;
Sheet := XLApp.WorkBooks[sheetcnt].WorkSheets[sheet_name];
wnd := findwindow('XLMAIN', nil );
Windows.SetParent(wnd, Handle); //Panel1.Handle
SetWindowPos( wnd, 0 , 0, -26, Panel1.clientwidth, Panel1.clientheight , SWP_NOZORDER or SWP_SHOWWINDOW );
XLApp.Visible := True;
end;
//********* 위는 엑셀실행 *********
procedure TFrmMain.FormDestroy(Sender: TObject);
begin
if not VarIsEmpty(XLApp) then begin
XLApp.WorkBooks.Close;
XLApp.DisplayAlerts := False; // Discard unsaved files....
XLApp.Quit;
end;
end;
//**** 위는 폼종료인데..
엑셀을 실행하고 작업을 다한다음에 폼을 종료하면 엑셀이 종료가 되어야하느데
계속 살아있습니다.
원인좀 알려주세요
중간에 죽이고 다시실행하면 다른엑셀이 실행되어.. 다중에는 여러개의 엑셀 프로세서가 살아있습니다.