Q&A

  • 엑셀 파일로 저장시 문제 입니다.
procedure TFRM_CDR_SUB_REPORT.XlsBtnClick(Sender: TObject);

Var

v : Variant;

i,j : Integer;

begin

Screen.Cursor := crHourGlass;

Try

v := CreateOleObject('Excel.Application');

Except

MessageDlg('Excel이 설치되어 있지 않습니다!',mtWarning,[mbOk],0);

Screen.Cursor := crDefault;

Exit;

End;



v.WorkBooks.Add;

DM.SubDtlPrn_Q.DisableControls;

DM.SubDtlPrn_Q.First;

For i := 0 To DM.SubDtlPrn_Q.RecordCount-1 Do

Begin

For j := 1 To DBGrid1.FieldCount Do

Begin

v.Cells[i+1,j].Value := DM.SubDtlPrn_Q.Fields[j-1].AsString;

End;

DM.SubDtlPrn_Q.Next;

End;

DM.SubDtlPrn_Q.EnableControls;

Screen.Cursor := crDefault;

v.Visible := True;

end;







CreateOleObject 이 선언되어 있지 않다고 나오면서 컴파일시 실행이 안됩니다.

기존에 누가 했던걸 그대로 코드만 복사한 건데..



그건 됩니다..

도대체 무슨 문제죠?



답변 꼭꼭꼭 부탁 드립니다.



행복하세요

1  COMMENTS
  • Profile
    한휘 2001.07.24 02:12
    Uses 절에 ComObj 를 추가해 주시면됩니다.





    인어공주 wrote:

    > procedure TFRM_CDR_SUB_REPORT.XlsBtnClick(Sender: TObject);

    > Var

    > v : Variant;

    > i,j : Integer;

    > begin

    > Screen.Cursor := crHourGlass;

    > Try

    > v := CreateOleObject('Excel.Application');

    > Except

    > MessageDlg('Excel이 설치되어 있지 않습니다!',mtWarning,[mbOk],0);

    > Screen.Cursor := crDefault;

    > Exit;

    > End;

    >

    > v.WorkBooks.Add;

    > DM.SubDtlPrn_Q.DisableControls;

    > DM.SubDtlPrn_Q.First;

    > For i := 0 To DM.SubDtlPrn_Q.RecordCount-1 Do

    > Begin

    > For j := 1 To DBGrid1.FieldCount Do

    > Begin

    > v.Cells[i+1,j].Value := DM.SubDtlPrn_Q.Fields[j-1].AsString;

    > End;

    > DM.SubDtlPrn_Q.Next;

    > End;

    > DM.SubDtlPrn_Q.EnableControls;

    > Screen.Cursor := crDefault;

    > v.Visible := True;

    > end;

    >

    >

    >

    > CreateOleObject 이 선언되어 있지 않다고 나오면서 컴파일시 실행이 안됩니다.

    > 기존에 누가 했던걸 그대로 코드만 복사한 건데..

    >

    > 그건 됩니다..

    > 도대체 무슨 문제죠?

    >

    > 답변 꼭꼭꼭 부탁 드립니다.

    >

    > 행복하세요