Q&A
HOME
Tips & Tech
Q&A
Discuss
Download
자유게시판
홍보 / 광고
구인 / 구직
LOGIN
회원가입
엑셀로 레포트를 작성하는방법?
델파이로 작성된 쿼리를 가지고 프린트를 할때 엑셀의 미리보기 화면으로 먼저 보여주기를 하고싶습니다.
그러기 위해서는 쿼리한 값들을 엑셀에다 데이타를 뿌려야하는데
어떻게 하는건 자세히 알고 싶습니다.
도와주세요...
1
COMMENTS
오현수
•
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에 연동이 되는 프로그램을 하고 있는 데요, 많은
것을 알아내시면 저에게도 알려주시면 감사하겠네요 ..... :)
0
0
삭제
수정
댓글
(NOTICE) You must be
logged in
to comment on this post.
이주흥
•
1999.11.13 21:00
1
COMMENTS
/
0
LIKES
오라클 Unix 와 NT버전 의 차이점.
오정운
•
1999.11.16 08:59
이주흥 wrote: > 안녕하세요... > 질문만 드리는 흥입니다.. > 오라클에 대해 궁금한게 있어서요.. > ...
JANG
•
1999.11.13 20:57
1
COMMENTS
/
0
LIKES
이정욱님 Thank you~~~
이정욱
•
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
select 절에서 count(*) 함수를 썼는데...
오현수
•
1999.11.13 21:04
hopeship wrote: > 안녕하십니까. 희망선입니다. > 한가지 질문 사항이 있는데요. > > with DM.UserQu...
정은표
•
2000.12.30 11:02
오현수 wrote: > hopeship wrote: > > 안녕하십니까. 희망선입니다. > > 한가지 질문 사항이 있는데요. ...
초보자
•
1999.11.13 20:29
1
COMMENTS
/
0
LIKES
질문] 숫자값만 받아들이는 루틴을 사용하다가...
이정욱
•
1999.11.13 20:51
Key 가 #8 일때도 먹게 해주시면 됩니다. 이 외에 엔터키는 #13 입니다. 초보자 wrote: > 도와주세...
울보
•
1999.11.13 20:24
1
COMMENTS
/
0
LIKES
C/S버전의 Internet 컴포넌트를 스탠다드 버전
jang
•
1999.11.14 03:06
울보 wrote: > 엉엉엉... > > 클라이언트/서버 버전에 있는 인터넷 관련 컴포넌트들을 스탠다드 버전에...
박광식
•
1999.11.13 20:05
2
COMMENTS
/
0
LIKES
질문]memo 컴포넌트의 입력라인 제한 방법
이정욱
•
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
모든 Form최소화
이정욱
•
1999.11.13 21:09
Application.Minimize; 를 사용해 보세요. BisBuck wrote: > 프로그램을 만들었어여... > 음 예를...
양윤호
1999.11.13 19:30
0
COMMENTS
/
0
LIKES
Registry명령어중 WriteBinaryData 사용에 대해...
황선희
•
1999.11.13 18:57
1
COMMENTS
/
0
LIKES
DateTimePicker를 사용할 때
이정욱
•
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
panel에 대한 질문 드립니다.
JANG
•
1999.11.24 02:36
초보자 wrote: > 안녕하세요. > 저번에 질문드린 dbcombobox에 대한 빠른 답변 감사드립니다. > 또다른 ...
JANG
•
1999.11.13 18:13
1
COMMENTS
/
0
LIKES
TWAIN 지원 화상카메라 component 를 찾씁니다.
이정욱
•
1999.11.13 20:46
네. 한델(www.delphi.co.kr) 홈페이지 자료실에 올려 놓았습니다. 도움이 되셨기를... JANG wrote: ...
권은주
•
1999.11.13 13:22
1
COMMENTS
/
0
LIKES
TDatamodule공유는?
김고진
•
1999.11.15 20:00
권은주 wrote: > > Q&A목록에서 아무리 찾아봐도 해당되는 명꽤한 답변이 없어 질문드립니다. > 물...
김태성
•
1999.11.13 13:15
1
COMMENTS
/
0
LIKES
화상카메라로 화면에 화상을 표시하는 방법좀
이경문
•
2000.04.19 17:22
http://www.torry.ru/video.htm에서 TVideo Compoent가 짱입니다.
나도질문
•
1999.11.13 10:47
2
COMMENTS
/
0
LIKES
오현수님 꼭좀 봐주세요...
오현수
•
1999.11.16 04:35
나도질문 wrote: > 답변에 대해서 진심으로 감사드리고요.. > 소스를 주실수 있으면 꼭좀 주셨으면 합니...
오현수
•
1999.11.14 08:09
나도질문 wrote: > 답변에 대해서 진심으로 감사드리고요.. > 소스를 주실수 있으면 꼭좀 주셨으면 합니...
CHOBO
•
1999.11.13 07:43
1
COMMENTS
/
0
LIKES
이재식님..답변 감사합니다..그런데..다시한번더..
이재식
•
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
안녕하세요..경서님~ 델파이와 비베를 비교하는문건은 여러사이트, 그리고 여러 피씨통신관련 동호회...
조창범
1999/11/13 19:48
Views
489
Likes
1
Comments
1
Reports
0
Tag List
수정
삭제
목록으로
한델 로그인 하기
로그인 상태 유지
아직 회원이 아니세요? 가입하세요!
암호를 잊어버리셨나요?
> 델파이로 작성된 쿼리를 가지고 프린트를 할때 엑셀의 미리보기 화면으로 먼저 보여주기를 하고싶습니다.
> 그러기 위해서는 쿼리한 값들을 엑셀에다 데이타를 뿌려야하는데
> 어떻게 하는건 자세히 알고 싶습니다.
> 도와주세요...
조창범님 보세요
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에 연동이 되는 프로그램을 하고 있는 데요, 많은
것을 알아내시면 저에게도 알려주시면 감사하겠네요 ..... :)