|
다음과 같은 함수를 만들어
String Sdir,Temp,wonsi,s_store,s_storename,Celv,SchTmp,SchTmp2;
WideString ExFile;
String g_store,g_storename,g_goodname,g_temp;
double g_goodnum;
int g_price,g_tax;
Variant var_cell;
int n,ps;
Sdir = FormatDateTime("yyyy-mm-dd",mdt1->Date)+String("-")+FormatDateTime("yyyy-mm-dd",mdt3->Date);
if ( !DirectoryExists( ExtractFileDir(ParamStr(0))+String("\\")+Sdir ))
{
if (!CreateDir(ExtractFileDir(ParamStr(0))+String("\\")+Sdir))
throw Exception("Cannot create directory.");
}
wonsi = ExtractFileDir(ParamStr(0))+String("\\가맹점.xls");
ExFile = ExtractFileDir(ParamStr(0))+String("\\")+Sdir+String("\\")+so+String(".xls");
Temp = ExtractFileDir(ParamStr(0))+String("\\")+Sdir+String("\\")+so+String(".xls");
CopyFile(wonsi.c_str(),Temp.c_str(),false);
n = so.AnsiPos("_");
s_store = so.SubString(1,n-1);
s_storename = so.SubString(n+1, so.Length()- n);
/*
ExcelApplication1->Connect();
// true 화면에 보임, false 화면에 보이지 않음
ExcelApplication1->set_Visible(0,false);
ExcelApplication1->set_DisplayAlerts(TDefLCID(), false);
//ExcelWorkbook1->ConnectTo(ExcelApplication1->Workbooks->Add());
*/
ExcelWorkbook1->ConnectTo(ExcelApplication1->Workbooks->Open(ExFile));
//첫번째 워크시트와 연결
ExcelWorksheet1->ConnectTo(ExcelApplication1->Worksheets->get_Item((TVariant)1));
//워크시트의 이름
Celv = s_store+String(" ")+s_storename+String(" 정산");
ExcelWorksheet1->Cells->set_Item((TVariant)1,(TVariant)"B",(TVariant)Celv) ;
Celv = FormatDateTime("yyyy-mm-dd",mdt1->Date)+String(" ~ ")+FormatDateTime("yyyy-mm-dd",mdt3->Date);
ExcelWorksheet1->Cells->set_Item((TVariant)3,(TVariant)"B",(TVariant)Celv) ;
for(n = 0; n < 60; n++)
{
var_cell = ExcelWorksheet1->Cells->get_Item( (TVariant)(n+6),(TVariant)"B");
Celv = var_cell;
........
if(g_goodnum != 0)
ExcelWorksheet1->Cells->set_Item((TVariant)(n+6),(TVariant)"D",(TVariant)g_goodnum) ;
if(g_temp != "0")
ExcelWorksheet1->Cells->set_Item((TVariant)(n+6),(TVariant)"G",(TVariant)g_temp) ;
//여기부터
}
ExcelWorksheet1->Activate();
//ExcelApplication1->Save((TVariant)strFile);
ExcelWorksheet1->SaveAs(ExFile);
// ExcelApplication1->Disconnect();
// ExcelWorksheet1->Disconnect();
// ExcelWorkbook1->Disconnect();
위와 같이 하면 위의 함수를 한번 실행하면 에러가 안나는데
계속 함수를 호출 하면 에러가 발생되어서요.
|