|
예전에도 사용했던 코드인데 , 갑자기 에러가 발생하면서 수행이 되지 않습니다.
컴파일시 에러가 아니라 실행할때 에러가 납니다.
에러의 위치는 경고창에서는 get_Item((TVariant)1)); 이부분에서 뜬다고 나오는데..
get_Item((TVariant)"Sheet1")); 으로 변경해봐도 동일합니다.
컴파일환경은 6.0 에서 하고있습니다. 혹시나 비슷한 문제 겪으신분 계실까요 ?
char szCurPath[1024],szOrgFile[1024],szBuffer[1024];
WideString OrgFileName,ChkSheet = "Sheet1";
strcpy(szOrgFile,ExtractFilePath(Application->ExeName).c_str());
strcat(szOrgFile,"ResultFormat03.xlsx");
OrgFileName = szOrgFile;
try {
try {
ExcelApplication1->Connect();
ExcelApplication1->set_Visible(TDefLCID(),false);
} catch(...) {
MessageDlg("엑셀프로그램이 설치되지 않았습니다.", mtError, TMsgDlgButtons() << mbOK, 0);
// delete OXLApp;
// OXLApp = 0;
return;
}
try {
if (FileExists(szOrgFile)) {
ExcelWorkbook1->ConnectTo(ExcelApplication1->Workbooks->Open(OrgFileName));
ExcelWorksheet1->ConnectTo(ExcelWorkbook1->Worksheets->get_Item((TVariant)1));
// 여기에서 값을 수정하고 있습니다.
ExcelWorksheet1->SaveAs(TVariant(szFileName));
ExcelWorkbook1->Close(TVariant(true), TNoParam(), TNoParam(), LCID);
}
} __finally {
ExcelWorksheet1->Disconnect(); // Important: must release ptr
ExcelWorkbook1->Disconnect();
ExcelApplication1->Disconnect(); // Use disconnect for SERVER COMPONENT
ExcelApplication1->Quit();
}
}catch(...) {
}
|