现有一写报表的C语言动作,以前运行的好好的,但到时了10月10日过后就不行了不知何解,请各位大侠帮忙
C语言动作如下:
#include "apdefap.h"
int gscAction( void )
{
#pragma code ("kernel32.dll")
VOID GetLocalTime(LPSYSTEMTIME lpSystemTime);
#pragma code ()
char FileName[24] = "";
char *hourr=NULL;
double hour,row;
hourr=GetTagChar("hour");
if(strcmp(hourr,"0") == 0)
{
SYSTEMTIME sysTime;
__object* pExcel = NULL;
GetLocalTime(&sysTime);
sprintf(FileName,"e:\\baobiao\\%d%d%d.xls",sysTime.wYear,sysTime.wMonth,sysTime.wDay);
pExcel = __object_create("Excel.Application.9");
pExcel->Visible = 0;
pExcel->Workbooks ->Open ("e:\\baobiao\\sample\\baobiao.xls");
pExcel->ActiveWorkbook->SaveAs(FileName);
pExcel->Workbooks->Close();
pExcel->Quit();
__object_delete(pExcel);
goto loop;
}
else goto loop;
loop:
{
SYSTEMTIME sysTime;
__object* pExcel = NULL;
GetLocalTime(&sysTime);
sprintf(FileName,"e:\\baobiao\\%d%d%d.xls",sysTime.wYear,sysTime.wMonth,sysTime.wDay);
hour=GetTagDouble("hour");
row=hour+10;
pExcel = __object_create("Excel.Application.9");
pExcel->Visible = 0;
pExcel->Workbooks ->Open (FileName);
pExcel->Worksheets("BAOBIAO")->cells(row,1)->Value=GetTagChar("time");
.
.
.
pExcel->Worksheets("BAOBIAO")->cells(row,23)->Value=GetTagFloat("FRQ_001_SUM");
pExcel->ActiveWorkbook->Save();
pExcel->Workbooks->Close();
pExcel->Quit();
__object_delete(pExcel);
}
return 0;
}
以前文件命名是用 年.月.日.XLS 格式的(e:\\baobiao\\%d.%d.%d.xls),但到了10月10日之后就只会生成文件,而不写入内容,现只能暂时改为 年月日.XLS 格式,但这样也会造成混乱,月和日如果是1-9他不会变成01-09,如2007111.XLS就不知道是1月11日还是11月1日
可另外一个动作命名是 年-月-日.XLS 格式的就没有问题