<!--Codes-->
procedure TRfManListForm.Button1Click(Sender: TObject);
var
Row,Col : Integer;
begin
try
ExcelApplication1.Connect;
except
MessageDlg('Excel과 연결되지 않습니다.',mtError,[mbOk],0);
Abort;
end;
try
ExcelApplication1.Visible[0] := false ;
ExcelApplication1.WorkBooks.Add(xlWBATWorksheet,0);
ExcelWorkBook1.ConnectTo(ExcelApplication1.workbooks.Item[1]);
ExcelWorksheet1.ConnectTo(ExcelWorkBook1.sheets[1] as _Worksheet);
with ExcelWorksheet1 do
begin
for Row := 0 to Grid1.RowCount do
begin
for Col := 0 to Grid1.ColCount do
begin
Cells.item[Col+1, Row+1] := Grid1.Cells[Col, Row];
end;
end;
SaveAs('c:\Test.xls');
Finalize(ExcelWorksheet1);
Finalize(ExcelWorkbook1);
Finalize(ExcelApplication1);
end;
except
on err:exception do
begin
ExcelWorkbook1.close;
ExcelApplication1.Disconnect;
Finalize(ExcelWorksheet1);
Finalize(ExcelWorkbook1);
Finalize(ExcelApplication1);
ShowMessage('작업이 취소되었습니다. Data확인요망-'+err.message);
end;
end;
end;
end.
<!--CodeE-->
실행후에
Art + Ctrl + Del 로 프로세서를 보면 항상 살아있습니다.
그래서 그 후의 엑셀 동장에 대해서 영향을 끼치구요ㅜ_ㅜ
프로세서를 죽이는 법좀 가르쳐 주셨음 합니다'ㅁ'a
그리고.. 저장시 덮어쓸꺼냐 아닌가를 항상 물어보든데
안물어보고 덮어씌우는 방법도 가르쳐 주셨으면 합니다.
나름대로 찾아봤는데 답이 안나오내요ㅜ_ㅜ
읽어주셔서 감사하구요
그럼 즐델하세요~*
저는 아래와 같이 했습니다..
간단히..
try
try
ExcelApplication1.Connect;
ExcelWorkbook1.ConnectTo(excelApplication1.workbooks.add(TOleEnum(xlWBATWorksheet), LCID));
ExcelWorksheet1.ConnectTo(excelWorkbook1.worksheets.item['Sheet1'] as _WorkSheet );
Sheet := ExcelApplication1.WorkBooks[ExcelApplication1.Workbooks.Count].WorkSheets[excelWorkbook1.Worksheets.Count];
//여기에 뭔가 열심히 작업진행..
except
on E:Exception do
에러메세지;
end;
finally
ExcelWorksheet1.Disconnect;
ExcelWorkbook1.Disconnect;
ExcelApplication1.Disconnect;
end;
저는 에러고, Excel Process고 간에..
다 없어지던데요..
답이 되었길 바랍니다..