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
[76401] 엑셀 OLE 저장 시, 열려있는 파일 접근 문제 질문드립니다...
BuildMan [] 576 읽음    2023-01-10 21:42
안녕하세요. 반갑습니다.
저는 엑셀로 데이터를 쓰기/저장 하고 있습니다.
방식은 엑셀 파일 하나에 열 갯수를 가져온 다음, 마지막 줄을 가져와서 계속해서 누적하는 방식입니다.

어려움을 겪고 있는 부분은,
누적하고 있는 파일을 엑셀로 열어 놓은 상태에서는, 위 기능으로 데이터가 누적되지 않는 현상입니다.
해당 엑셀파일을 닫으면 다시 정상적으로 누적되구요.

핸들에 의한 문제로 보이는데, OLE Function에서 열려져있는 파일을 강제로 닫는다거나
열려있어도 저장할 수 있도록 하는 방법이 있는지 궁금합니다.

항상 감사합니다.


    
//Excel
    String strDirPath = "D:\\TEST.xls";
    XLApp = CreateOleObject("Excel.Application");               // 엑셀 OLE 열기 및 초기 설정
    XLApp.OlePropertySet("DisplayAlerts", false);               // 엑셀 메시지 없음
    XLApp.OlePropertySet("Visible", false);                     // 엑셀 프로그램 볼지 말지
    XLSheet = XLApp.OlePropertyGet("WorkBooks");                // 엑셀 워크북 사용

    XLSheet.OleFunction("Open", strDirPath.c_str());            // 엑셀 파일 열기
    XLBook = XLApp.OlePropertyGet("ActiveWorkBook");            // 활성화 되어 있는 워크북 가져오기
    XLActiveSheet = XLBook.OlePropertyGet("ActiveSheet");       // 엑셀 안에 내용 집어넣기
    vrange  = XLActiveSheet.OlePropertyGet("UsedRange");
    nRowMax = vrange.OlePropertyGet("Rows").OlePropertyGet("Count"); //Row갯수

    str = "Row" + IntToStr(nRowMax);
    XLCell = XLActiveSheet.OlePropertyGet("Cells", nRowMax+1, 1);
    XLCell.OlePropertySet("Value", WideString(str));



+ -

관련 글 리스트
76401 엑셀 OLE 저장 시, 열려있는 파일 접근 문제 질문드립니다... BuildMan 576 2023/01/10
76402     Re:엑셀 OLE 저장 시, 열려있는 파일 접근 문제 질문드립니다... 김시환 603 2023/01/11
76404         Re:Re:엑셀 OLE 저장 시, 열려있는 파일 접근 문제 질문드립니다... BuildMan 593 2023/01/12
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.