테이블을 xls로 저장하려고 합니다.
Servers 컴포넌트에 있는 ExcelApplication을 사용하는데요..
==============================================================
procedure TF_execl.btn_connectExcelClick(Sender: TObject);
begin
try
ExcelApplication1.Connect;
except
MessageDlg('Excel과 연결되지 않습니다.',mtError,[mbOk],0);
Abort;
end;
try
ExcelApplication1.Visible[0] := True ;
ExcelApplication1.Caption :='엑셀 테스트';
ExcelApplication1.WorkBooks.Add(xlWBATWorksheet,0);
ExcelWorkBook1.ConnectTo(ExcelApplication1.workbooks.Item[1]);
ExcelWorksheet1.ConnectTo(ExcelWorkBook1.sheets[1] as_Worksheet);
with ExcelWorksheet1 do
begin
range[cells.Item[1,1],Cells.Item[2,1]].Font.Bold := true ;
range[cells.Item[1,1],Cells.Item[2,1]].Font.Size := 14 ;
Cells.Item[1,1] := '델파이와 엑셀을 이용한 프로그램';
Cells.Item[2,1] := '김구';
end;
except
on E: Exception do begin
showmessage(E.message);
ExcelApplication1.Disconnect;
end;
end;
end;
==================================================================
위의 소스에서
ExcelWorksheet1.ConnectTo(ExcelWorkBook1.sheets[1] as_Worksheet);
부분에서 에러가 발생합니다.
워크시트를 못여는 것 같아요..
[Error] u_excel.pas(61): Incompatible types: 'IDispatch' and '_Worksheet'
IDispatch는 Servers컴포넌트에서는 상관없는 걸로 알고 있는데..아닌가여??
다른 부분은 문제가 안되는데 왜 그런지 모르겠어여~~
그리고 이 소스는 대림 델파이5에 나와있는 소스를 그대로 사용한건데..
책이 오류가 있는건가여...ㅜ.ㅜ
아시는분..제발 그냥 지나치지 마시고 ..
답변 좀 부탁드립니다.^^
==> ExcelWorksheet1.ConnectTo(ExcelWorkbook1.Sheets[1] as _Worksheet);
as 뒤에 반드시 스페이스 ' ' 넣어주세요.
델초보 wrote:
>
> 테이블을 xls로 저장하려고 합니다.
> Servers 컴포넌트에 있는 ExcelApplication을 사용하는데요..
> ==============================================================
> procedure TF_execl.btn_connectExcelClick(Sender: TObject);
> begin
> try
> ExcelApplication1.Connect;
> except
> MessageDlg('Excel과 연결되지 않습니다.',mtError,[mbOk],0);
> Abort;
> end;
>
> try
> ExcelApplication1.Visible[0] := True ;
> ExcelApplication1.Caption :='엑셀 테스트';
> ExcelApplication1.WorkBooks.Add(xlWBATWorksheet,0);
> ExcelWorkBook1.ConnectTo(ExcelApplication1.workbooks.Item[1]);
> ExcelWorksheet1.ConnectTo(ExcelWorkBook1.sheets[1] as_Worksheet);
>
> with ExcelWorksheet1 do
> begin
> range[cells.Item[1,1],Cells.Item[2,1]].Font.Bold := true ;
> range[cells.Item[1,1],Cells.Item[2,1]].Font.Size := 14 ;
> Cells.Item[1,1] := '델파이와 엑셀을 이용한 프로그램';
> Cells.Item[2,1] := '김구';
> end;
> except
> on E: Exception do begin
> showmessage(E.message);
> ExcelApplication1.Disconnect;
> end;
> end;
> end;
> ==================================================================
> 위의 소스에서
> ExcelWorksheet1.ConnectTo(ExcelWorkBook1.sheets[1] as_Worksheet);
> 부분에서 에러가 발생합니다.
> 워크시트를 못여는 것 같아요..
> [Error] u_excel.pas(61): Incompatible types: 'IDispatch' and '_Worksheet'
>
> IDispatch는 Servers컴포넌트에서는 상관없는 걸로 알고 있는데..아닌가여??
> 다른 부분은 문제가 안되는데 왜 그런지 모르겠어여~~
> 그리고 이 소스는 대림 델파이5에 나와있는 소스를 그대로 사용한건데..
> 책이 오류가 있는건가여...ㅜ.ㅜ
>
> 아시는분..제발 그냥 지나치지 마시고 ..
> 답변 좀 부탁드립니다.^^
>