| 
답변 감사합니다.
 Save As 는 열려있는 파일 (또는 이미 존재하는 파일?)에 저장할 때 예외가 발생하는군요
 엑셀에서 파일을 열었을 때, 다른 곳에서 수정/저장이 반영되지 않도록 읽기 전용으로 열리는 것 같습니다.
 엑셀로 열었을 때, 상단 바에 (Shared)로 표기되면 문제가 없을 것 같은데, 방법을 잘 모르겠습니다.
 허허허
 김시환 님이 쓰신 글 :
 : 제가 예전에 엑셀 테스트 하면서 만든 소스 올려 놓았으니 참고해 보세요..
 : 빌더 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));
: : : : 
 : : 
 |