|
안녕하세요. 링쿠우님
아래 코드에서와 같이 (Variant)로 masking하는 것 대신에
(OleVariant)로 masking하면 정상동작하는군요.
즐프하시길...
링쿠우 님이 쓰신 글 :
: 해결이 되었네요...
:
: Q&A검색해보니 글중에 저랑 비슷한 내용이있었는데
:
: DLL파일로 저장 메소드를 만들어서 사용하니 해결되었습니다... 어렵네요 빌더 ㅠ
:
:
:
: 링쿠우 님이 쓰신 글 :
: : 안녕하세요
: :
: : 엑셀 저장때문에 벌써 몇일째인지 모르겠습니다..
: :
: : 포럼에 올라온 OLE를 이용한 저장방식을 이용해서 엑셀 파일 저장을 하려고합니다.
: :
: : 일단 테스트로 간단하게 예제를 구현해 보았는데, 아무런 문제 없이 잘 되더군요
: :
: : 그래서 이제 적용하려는 프로그램 코드에 확인된 코드를 붙여 놓았는데...
: :
: : Access Violation 에러 메시지가 뜨네요
: :
: : 구현한 코드는 아래와 같습니다.
: :
: : -----------------------------------------------------------------------------------------------
: : Variant excel_app;
: : Variant excel_book;
: : Variant excel_sheet;
: : Variant cells;
: :
: : String asFileName = "C:\\ExcelSaveTest.xls";
: :
: : excel_app = Variant::CreateObject("excel.application"); //Excel 프로그램 실행
: : excel_app.OlePropertySet("Visible", (Variant)false); //Excel 프로그램 Visible설정 <----- 에러 부분
: : excel_app.OlePropertyGet("WorkBooks").OleProcedure("Add"); //Add to New file
: : excel_book=excel_app.OlePropertyGet("ActiveWorkbook"); //현재 Active된 WorkBook 선택
: : excel_sheet=excel_book.OlePropertyGet("ActiveSheet"); // WorkBook에서 Acitve된 Sheet선택
: :
: : excel_book.OleProcedure("SaveAs",asFileName.c_str()); //저장
: : excel_book.OleFunction("Close", (Variant)False); //Excel 문서 닫기
: : excel_sheet = Unassigned;
: : excel_book = Unassigned;
: : excel_app.OleFunction("Quit"); //Excel 프로그램 종료
: : excel_app = Unassigned;
: : -----------------------------------------------------------------------------------------------
: :
: : 엑셀 오브젝트 생성 후에 Visible설정에만 들어가면 오류가 납니다.
: : 분명 예제로 테스트할때는 아무런 문제가 없던 코드인데
: : 이 프로그램에만 붙이면 저곳에서 에러가 나네요 ㅠ
: :
: : 사용된 컴포넌트는 tms, themeengine, raize가 있습니다.
: :
: : 고수님들 도와주세요...ㅠㅠ
|