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
[63800] [질문]Win7 액셀저장시 문제점 해결방법궁금합니다.
이성희 [] 1790 읽음    2011-02-22 15:55
아래 코드는 제가 사용한 액셀저장하는  코딩입니다.
Win XP 에서는
   XLWorkbooks.OleProcedure("Close");
   XLApp.OleProcedure("Quit");
이모듈에서 저장할까요 메세지창이 실행되서 저장작업을 진행 할수가 있었는데
Win7에서는 메세지창이 내부에 숨어버려서 ALT+Tab키를 눌러서 창을 찾아서 저장가능합니다.

제가 사용하는 방식이 문제가 있어서 그런건지 Win7에서는 별도의 코딩을 더 해야 할지 고수분들의
조언 부탁드립니다.

    Variant XLApp;
    Variant XLWorkbooks;
    Variant XLWorkbook;
    Variant XLWorksheet;
    try
    {
        XLApp = CreateOleObject("Excel.Application");
    }
    catch(...)
    {
        ShowMessage("Excel OLE server not found");
        return;
    }
    XLWorkbooks = XLApp.OlePropertyGet("Workbooks");
    XLWorkbooks.OleProcedure("Add");
    XLWorkbook = XLWorkbooks.OlePropertyGet("Item", 1);
    XLWorksheet = XLWorkbook.OlePropertyGet("Worksheets");
    Variant xlSheet = XLWorksheet.OlePropertyGet("Item", 1);

    xlSheet.OlePropertyGet("Cells").OlePropertySet("_Default", 1,1, "업무일지명세");
    xlSheet.OlePropertyGet("Cells").OlePropertySet("_Default", 2,1, "담당자");
    xlSheet.OlePropertyGet("Cells").OlePropertySet("_Default", 2,2, "날  짜");
    xlSheet.OlePropertyGet("Cells").OlePropertySet("_Default", 2,3, "번호");

    int i=3 ;
    Query1->First();
    while(!Query1->Eof)
    {
        xlSheet.OlePropertyGet("Cells").OlePropertySet("_Default", i,1,
                                        Query1->FieldByName("insaname")->AsString);
        xlSheet.OlePropertyGet("Cells").OlePropertySet("_Default", i,2,
                                        Query1->FieldByName("wrkdate")->AsString);
        xlSheet.OlePropertyGet("Cells").OlePropertySet("_Default", i,3,
                                        Query1->FieldByName("wrknum")->AsString);
        i++;
        Query1->Next();
    }
    ShowMessage("Excel변환 작업이 완료 되었습니다.");
    XLWorkbooks.OleProcedure("Close");
    XLApp.OleProcedure("Quit");

+ -

관련 글 리스트
63800 [질문]Win7 액셀저장시 문제점 해결방법궁금합니다. 이성희 1790 2011/02/22
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.