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
[76402] Re:엑셀 OLE 저장 시, 열려있는 파일 접근 문제 질문드립니다...
김시환 [godson2] 600 읽음    2023-01-11 13:53
제가 예전에 엑셀 테스트 하면서 만든 소스 올려 놓았으니 참고해 보세요..
빌더 XE4 버전으로 개발 했었습니다.



BuildMan 님이 쓰신 글 :
: 안녕하세요. 반갑습니다.
: 저는 엑셀로 데이터를 쓰기/저장 하고 있습니다.
: 방식은 엑셀 파일 하나에 열 갯수를 가져온 다음, 마지막 줄을 가져와서 계속해서 누적하는 방식입니다.
:
: 어려움을 겪고 있는 부분은,
: 누적하고 있는 파일을 엑셀로 열어 놓은 상태에서는, 위 기능으로 데이터가 누적되지 않는 현상입니다.
: 해당 엑셀파일을 닫으면 다시 정상적으로 누적되구요.
:
: 핸들에 의한 문제로 보이는데, 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 574 2023/01/10
76402     Re:엑셀 OLE 저장 시, 열려있는 파일 접근 문제 질문드립니다... 김시환 600 2023/01/11
76404         Re:Re:엑셀 OLE 저장 시, 열려있는 파일 접근 문제 질문드립니다... BuildMan 591 2023/01/12
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.