|
문서양식 형태로 작성되있는 엑셀파일을 열고 빈칸에 데이터를 넣은다음 다른이름으로 저장하는걸 하고 있습니다.
게시판 검색을 통해서 코드를 작성했는데 컴파일은 잘 됩니다.
근데 실행을 하면 예외가 발생했다면서 프로그램이 죽네요 ;;
이거 왜이런가요?
void __fastcall TForm3::Button5Click(TObject *Sender) // 엑셀저장
{
Variant excel_app;
Variant excel_book;
Variant excel_sheet;
Variant cells;
AnsiString asFileName="CSR_양식.xls";
AnsiString asFileName1="CSR_양식1.xls";
excel_app=Variant::CreateObject("excel.application"); //Excel 프로그램 실행
excel_app.OlePropertySet("Visible", (Variant)true); //Excel 프로그램 Visible설정
excel_app.OlePropertyGet("WorkBooks").OleProcedure("Open",asFileName.c_str()); //문서 파일 열기
excel_book=excel_app.OlePropertyGet("ActiveWorkbook"); //현재 Active된 WorkBook 선택
excel_sheet=excel_book.OlePropertyGet("ActiveSheet"); // WorkBook에서 Acitve된 Sheet선택
cells = excel_sheet.OlePropertyGet("Cells",1 , 2); //Cell선택 // Sheet에서 Cell 1,2 선택
String vValue=Form1->DBGrid1->DataSource->DataSet->FieldByName("CSR_접수등록번호")->AsString;
cells.OlePropertySet("Value", WideString(vValue)); //선택한 Cell에 데이타 입력
excel_book.OleProcedure("SaveAs",asFileName1.c_str()); //저장
excel_book.OleFunction("Close", (Variant)False); //Excel 문서 닫기
excel_sheet = Unassigned;
excel_book = Unassigned;
excel_app.OleFunction("Quit"); //Excel 프로그램 종료
excel_app = Unassigned;
}
|