기술자료실에 127번 글 '엑셀(EXCEL) 파일 읽고 쓰기,AUTOMATION 이용' 에서 질문이 있습니다..
제가 아래와 같이 엑셀 파일을 open을 했는데요. 랜덤으로 아래와 같은 에러 메시지가 생깁니다..
도저히 이유를 몰라서 문의드립니다.
메일로 답변주셔도 좋습니다..ㅜㅜ (hanaearth@hanmail.net)
참고로, 환경을 아래와같습니다.
OS -> window XP
컴파일 환경 -> Visual Studio 6.0 (MFC)
office excel2003
---------------------------------------- (에러 메시지) ----------------------------------------
Release Variant: Unknown type
그리고 위 에러가 나서 확인버튼을 누르면 또 다음과 같은 에러가 납니다.
'0x73d12916'에 있는 명령이 '0x00000020'의 메모리를 참조했습니다.
메모리는 'written'될 수 없었습니다.
----------------------------------------------------------------------------------------------------
-------------------------------------- (해당 소스코드) -------------------------------------------------
static char szFilter[] = "Log Files (*.TXT)|*.TXT|All Files (*.*)|*.*||";
CFileDialog dlg(TRUE, NULL, NULL, OFN_HIDEREADONLY, szFilter);
CString FilePath;
if (dlg.DoModal() == IDOK)
{
FilePath = dlg.GetPathName();
CXLEzAutomation XL(FALSE); // FALSE: 처리 과정을 화면에 보이지 않는다
XL.OpenExcelFile(FilePath);
}
-------------------------------------------------------------------------------------------------------------
예제를 보면 아래와 같은데, 마지막에 XL.ReleaseExcel()를 해줍니다.
이렇게 해도 해결이 안된다면 전체 소스를 올려 주세요~~.
그래야 디버깅을 할수 있습니다.^^
void CWATExcelRWDlg::OnBnClickedButton1()
{
char chThisPath[_MAX_PATH];
GetCurrentDirectory( _MAX_PATH, chThisPath);
UpdateData(TRUE);
CString strThisPath ;
strThisPath.Format("%s\%s.xls",chThisPath,m_strFileName);
CXLEzAutomation XL(FALSE); // FALSE: 처리 과정을 화면에 보이지 않는다
XL.SetCellValue(1,1,"ddd");
XL.SetCellValue(1,2,"22");
XL.SetCellValue(4,4,"4,4");
XL.SetCellValue(7,4,"7,4");
XL.SaveFileAs(strThisPath);
XL.ReleaseExcel();
}