C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[4546] Re:[Q]고수님들 xls 질문임다.
이강건 [] 4233 읽음    2000-12-08 00:00
원영준 님이 쓰신 글 :
: void __fastcall TMDIChild1::SpeedButton2Click(TObject *Sender)
: {
:     Variant xl, sheet;
:     ////////////////////////////////////////////////////////////////////////////
:     //
:     // XLS 실행
:     ////////////////////////////////////////////////////////////////////////////
:     xl = CreateOleObject("Excel.Application");
:
:     xl.OlePropertySet("Visible", True);
:     sheet = xl.OlePropertyGet("WorkBooks").OlePropertyGet("WorkSheets").OlePropertyGet("Sheet1");
:
:     sheet.Cells[1,1] = "won";
:     sheet.Cells[1,2] = "yeong";
:
:     xl    = Unassigned;
:
: }
:
: 이렇게 했는데 뭐가 잘못인지 좀 봐주세요i

이강건입니다.
대충보니까 WorkBooks에 ActiveSheets를 얻어오질 않았네요.

즉, 다음과 같이 Workbooks에 Sheets를 붙여준 다음 ActiveSheet를 얻어와야 합니다.

    try
    {
        XLApp = CreateOleObject("Excel.Application");
    }
    catch(...)
    {
        ShowMessage("Excel OLE server not found");
        return false;
    }
    XLWorkbooks = XLApp.OlePropertyGet("Workbooks");
    XLWorkbook = XLWorkbooks.OleFunction("Add", 1);             // 1은 덧붙일 Sheet의 갯수
    XLWorksheet = XLWorkbook.OlePropertyGet("ActiveSheet");

위와 같이 Excel을 COM을 이용하여 연 후에,
다음과 같이 Cell에 글을 쓸 수 있겠죠.

    XLWorksheet.OlePropertyGet("Cells").OlePropertySet("_Default", Row, Col, Str);

Row, Col은 해당 셀의 위치이고 Str은 쓸 내용입니다.

그럼 도움이 되었기를...

+ -

관련 글 리스트
4535 [Q]고수님들 xls 질문임다. 원영준 3093 2000/12/07
4546     Re:[Q]고수님들 xls 질문임다. 이강건 4233 2000/12/08
4592         Re:감사 원영준 3064 2000/12/13
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.