Q&A

  • Servers 컴포넌트에 있는 ExcelApplication을 사용하는데요..


테이블을 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에 나와있는 소스를 그대로 사용한건데..

책이 오류가 있는건가여...ㅜ.ㅜ



아시는분..제발 그냥 지나치지 마시고 ..

답변 좀 부탁드립니다.^^



1  COMMENTS
  • Profile
    김광수 2001.12.01 21:52
    > ExcelWorksheet1.ConnectTo(ExcelWorkBook1.sheets[1] as_Worksheet);

    ==> 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에 나와있는 소스를 그대로 사용한건데..

    > 책이 오류가 있는건가여...ㅜ.ㅜ

    >

    > 아시는분..제발 그냥 지나치지 마시고 ..

    > 답변 좀 부탁드립니다.^^

    >