var
v : variant;
begin
v := CreateOLEObject('Excel.Application'); // 먼저 Excel을 구동시킨다.
v.visible := true; // Excel을 Active시킨다.
if FileExists(Edit1.Text) then // 지정된 파일이 있으면
v.WorkBooks.Open(Edit1.Text) // 그 파일을 오픈하고
else begin // 파일이 존재하지 않으면
v.WorkBooks.Add; // 새로운 workbook을 추가한 후
v.ActiveWorkBooks.SaveAs(Edit1.Text); // 지정된 파일로 저장을한다.
end;
// 여기에서 부터는 Excel의 각 셀에 값을 보낸다.
v.Cells[1,1].Formula := Table1.FieldByName('NAME').AsString;
end;
//-----------------------------
이런식으로 DB GD의 내용을 Excel로 보냈습니다. 그런데 저장을 하지않고 Excel
에서 빠져 나오면 윈도우 상에서는 보이지 않다가 나중에 컴을 끌때 저장유무를 물어 옵니다. Back ground에서 실행중인것 같습니다.
어떻게 실행을 종료 시키는 것인지요?
> var
> v : variant;
> begin
> v := CreateOLEObject('Excel.Application'); // 먼저 Excel을 구동시킨다.
> v.visible := true; // Excel을 Active시킨다.
> if FileExists(Edit1.Text) then // 지정된 파일이 있으면
> v.WorkBooks.Open(Edit1.Text) // 그 파일을 오픈하고
> else begin // 파일이 존재하지 않으면
> v.WorkBooks.Add; // 새로운 workbook을 추가한 후
> v.ActiveWorkBooks.SaveAs(Edit1.Text); // 지정된 파일로 저장을한다.
> end;
> // 여기에서 부터는 Excel의 각 셀에 값을 보낸다.
> v.Cells[1,1].Formula := Table1.FieldByName('NAME').AsString;
> end;
> //-----------------------------
> 이런식으로 DB GD의 내용을 Excel로 보냈습니다. 그런데 저장을 하지않고 Excel
> 에서 빠져 나오면 윈도우 상에서는 보이지 않다가 나중에 컴을 끌때 저장유무를 물어 옵니다. Back ground에서 실행중인것 같습니다.
> 어떻게 실행을 종료 시키는 것인지요?
먼저 백그라운드로 엑셍 작업을 하시려면 위의 v.Visible를 Fasle로 하시고 다음 부분들을 위치에 맞게 추가하시면 될꺼예요..
v.DisplayAlerts := False; {Excel 종료시 저장 여부를 물어보지 않도록 한다}
if not VarIsEmpty(v) then
v.Quit; {Excel 종료}