Q&A

  • 엑셀로 레포트를 작성하는방법?
델파이로 작성된 쿼리를 가지고 프린트를 할때 엑셀의 미리보기 화면으로 먼저 보여주기를 하고싶습니다.

그러기 위해서는 쿼리한 값들을 엑셀에다 데이타를 뿌려야하는데

어떻게 하는건 자세히 알고 싶습니다.

도와주세요...

1  COMMENTS
  • Profile
    오현수 1999.11.14 08:59
    조창범 wrote:

    > 델파이로 작성된 쿼리를 가지고 프린트를 할때 엑셀의 미리보기 화면으로 먼저 보여주기를 하고싶습니다.

    > 그러기 위해서는 쿼리한 값들을 엑셀에다 데이타를 뿌려야하는데

    > 어떻게 하는건 자세히 알고 싶습니다.

    > 도와주세요...



    조창범님 보세요



    Excel과 응용프로그램의 연동 방법은

    여러 곳에서 소개가 된 것 같은데요,



    Excel프로그램을 자동으로 실행시키고 값을 넣는 다든지

    실행된 프로그램에서 값을 얻어오거나 값을 변경한다든지의 모든

    작업이 가능합니다. OLE란 놈의 덕인것 같은데요

    실제로 Excel에서 이루어지는 작업의 거의 모든것이 프로그램에서

    제어가 가능합니다.



    도움말 중에서 COM utilities항목을 보시면 도움이 될것같습니다.



    var



    Excel, WorkBook, WorkSheet : Variant;

    //Excel은 Excel프로그램의 객체가 되고요

    //WorkBook은 WorkSheet를 가지는 객체

    //WorkSheet는 셀로 표현되는 Excel의 page를 갖는 객체가 됩니다.

    ....



    begin

    ....





    //다음과 같이 하면 현재실행중인 Excel의 일종의 포인터를 얻어옵니다.

    //Excel을 실행시키려면 CreateOleObject()를 사용하시면 되고요,

    Excel := GetActiveOLEObject('Excel.Application');

    Excel.Visible := true; //Excel이 다른 차에 가려져 있다면 앞으로 나오게 합니다.



    //현재 활성중인(2개 이상이 존재할 수도 있으므로)WorkBook의 첫번째 sheet를 얻습니다.

    WorkSheet := Excel.ActiveWorkBook.WorkSheets[1];



    //Excel의 특정 셀에 값을 넣기 위해서는

    WorkSheet.Cells[행,열].Value := 넣을값 ;



    //Excel에서 값을 얻어오기 위해서는

    받을 변수 := WorkSheet.Cells[행,열].Value;



    와 같은 방법으로 사용하시면 됩니다.





    이 외에

    A1 셀을 선택하려면

    WorkSheet.Range['A1'].Select;



    특정 셀의 폰트를 굴게 하려면

    WorkSheet.Range['셀범위'].Font.Bold := true;



    셀의 색을 변경하려면

    WorkSheet.Range[셀범위].Interior.ColorIndex := 색번호 ;

    WorkSheet.Range[셀범위].Interior.Pattern := 패턴형태 ;



    등등... 거의 모든 제어가 가능합니다.



    이런 것들은 도움말에는 나오지 않고요, 구현하고자 하는 내용을

    직접 찾으셔야 합니다.

    Excel을 실행시킨 후 [새 매크로시작]을 누르고 구현하고자 하는 내용을

    실행한 후 매크로기록을 종료합니다. 그 다음 매크로 수정에 가보면

    지금 까지 한 내용을 VB코드로 기록이 되어 있을 것입니다.

    Excel에서 미리보기를 한 후에 보니 PrintPreview라는 코드가 생성이

    된 것으로 봐서 프로그램에서 Excel의 미리보기를 수행하는 것도

    가능하리라 봅니다.(실행은 시켜보지 못했습니다.)



    VB와 Delphi의 문법이 다른 관계로 생선된 매크로를 delphi에서

    사용하는데 약간의 어려움은 있지만 그 정도는 감수 해야 겠지요.



    저도 지금 Excel에 연동이 되는 프로그램을 하고 있는 데요, 많은

    것을 알아내시면 저에게도 알려주시면 감사하겠네요 ..... :)



    • 이주흥
    • 1999.11.13 21:00
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 오정운
      1999.11.16 08:59
      이주흥 wrote: > 안녕하세요... > 질문만 드리는 흥입니다.. > 오라클에 대해 궁금한게 있어서요.. > ...
    • JANG
    • 1999.11.13 20:57
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      1999.11.13 21:10
      네. 자주 오셔서 답변도 해주시고 그러세요. 자유게시판, 지역게시판에서도 자주 뵈었으면 하는군요. 고럼....
    • 미선
    • 1999.11.13 20:44
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이주흥
      1999.11.13 21:04
      미선 wrote: > 라디오 버튼을 이용해서 검색을 하려고 하는데요... > 1. edit에 검색할 단어 입력 > 2. ...
    • hopeship
    • 1999.11.13 20:35
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 오현수
      1999.11.13 21:04
      hopeship wrote: > 안녕하십니까. 희망선입니다. > 한가지 질문 사항이 있는데요. > > with DM.UserQu...
    • 정은표
      2000.12.30 11:02
      오현수 wrote: > hopeship wrote: > > 안녕하십니까. 희망선입니다. > > 한가지 질문 사항이 있는데요. ...
    • 이정욱
      1999.11.13 20:51
      Key 가 #8 일때도 먹게 해주시면 됩니다. 이 외에 엔터키는 #13 입니다. 초보자 wrote: > 도와주세...
    • jang
      1999.11.14 03:06
      울보 wrote: > 엉엉엉... > > 클라이언트/서버 버전에 있는 인터넷 관련 컴포넌트들을 스탠다드 버전에...
    • 이정욱
      1999.11.13 21:17
      If Memo1.Lines.Count > 4 then begin Memo1.Lines.Delete(0); Memo1.SelStart := Length...
    • 진정한초보
      1999.11.16 23:41
      이정욱님 그런데... 중간 어느 라인에서 임의로 글자를 몇자 지우고 엔터키를 쳤을시 그댜로 넘어가는데...
    • 조창범
    • 1999.11.13 19:48
    • 1 COMMENTS
    • /
    • 1 LIKES
    • 오현수
      1999.11.14 08:59
      조창범 wrote: > 델파이로 작성된 쿼리를 가지고 프린트를 할때 엑셀의 미리보기 화면으로 먼저 보여주기...
    • BisBuck
    • 1999.11.13 19:42
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      1999.11.13 21:09
      Application.Minimize; 를 사용해 보세요. BisBuck wrote: > 프로그램을 만들었어여... > 음 예를...
    • 황선희
    • 1999.11.13 18:57
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      1999.11.13 21:18
      음.. 이상하군요.. 전 잘되는데요... 현재 사용하시는 델파이 버전을 말씀해 주세요. 황선희 wrote: ...
    • smkimpnt
    • 1999.11.13 18:42
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 오현수
      1999.11.14 09:04
      smkimpnt wrote: > 설치도중에 PVCS를 찾을수 없다고 나오는데, 이 PVCS가 어떤 기능을 하는건지? > 또 ...
    • 초보자
    • 1999.11.13 17:59
    • 1 COMMENTS
    • /
    • 0 LIKES
    • JANG
      1999.11.24 02:36
      초보자 wrote: > 안녕하세요. > 저번에 질문드린 dbcombobox에 대한 빠른 답변 감사드립니다. > 또다른 ...
    • JANG
    • 1999.11.13 18:13
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      1999.11.13 20:46
      네. 한델(www.delphi.co.kr) 홈페이지 자료실에 올려 놓았습니다. 도움이 되셨기를... JANG wrote: ...
    • 권은주
    • 1999.11.13 13:22
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 김고진
      1999.11.15 20:00
      권은주 wrote: > > Q&A목록에서 아무리 찾아봐도 해당되는 명꽤한 답변이 없어 질문드립니다. > 물...
    • 이경문
      2000.04.19 17:22
      http://www.torry.ru/video.htm에서 TVideo Compoent가 짱입니다.
    • 오현수
      1999.11.16 04:35
      나도질문 wrote: > 답변에 대해서 진심으로 감사드리고요.. > 소스를 주실수 있으면 꼭좀 주셨으면 합니...
    • 오현수
      1999.11.14 08:09
      나도질문 wrote: > 답변에 대해서 진심으로 감사드리고요.. > 소스를 주실수 있으면 꼭좀 주셨으면 합니...
    • 이재식
      1999.11.15 03:21
      안녕하십니까? 잘 보았습니다. 지금쯤이면 잘 해결하셨을 거라고 생각됩니다. 제가 메일을 보냈는데...
    • 긴급
    • 1999.11.13 06:36
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이재식
      1999.11.13 06:56
      긴급 wrote: > 얼마전 부터 도서&비디오 관리 프로젝트를 만들거든요. > 그런데 책을 대여할 때에 회원 ...
    • 박경서
    • 1999.11.13 06:07
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 조복기
      1999.11.13 22:34
      안녕하세요..경서님~ 델파이와 비베를 비교하는문건은 여러사이트, 그리고 여러 피씨통신관련 동호회...