怎样在wincc中用C脚本判断excel报表是否存在

更新时间:2023-11-06 00:27:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

怎样在wincc中用C脚本判断excel报表是否存在 copydream,2008-12-07 20:41:37

新手刚学wincc,现在遇到一个问题,向各位请教.

怎样在wincc中用C脚本判断excel报表是否存在,vbs只懂皮毛,最好不要说用vbs做. #pragma code (\

VOID GetLocalTime(LPSYSTEMTIME lpSystemTime); #pragma code ()

char FileName[20] = \static int i,j; SYSTEMTIME sysTime;

__object* pExcel = NULL; GetLocalTime(&sysTime);

sprintf(FileName,\年%d月.xls\sprintf(Date,\i=atoi(Date)+2; j++;

if(j==3) j=0;

pExcel = __object_create(\pExcel->Visible = 0; if(在这里判断) {

pExcel->Workbooks ->Open (\pExcel->ActiveWorkbook->SaveAs(FileName); }

pExcel->Workbooks ->Open (FileName);

pExcel->WorkSheets(\供水\pExcel->WorkSheets(\补水\pExcel->ActiveWorkbook->Save(); pExcel->Workbooks->Close(); pExcel->Quit(); __object_delete(pExcel);

dcount107,2008-12-07 21:37:09

用fso组件,FileExists方法可以用来判断文件是否存在 __object* fso=NULL;

fso=__object_create(\if (fso->FileExists(\{

printf(\}

__object_delete(fso);

copydream,2008-12-07 21:59:28

成功了,实在是太感谢了,以前是用全局脚本在每个月的1号的0点到1点时间内建立excel报表的,那样就怕这段时间内机器没在运行,这样一个月就会没记录了. #pragma code (\

VOID GetLocalTime(LPSYSTEMTIME lpSystemTime); #pragma code ()

char FileName[20] = \static int i,j; SYSTEMTIME sysTime;

__object* pExcel = NULL; __object* fso=NULL; GetLocalTime(&sysTime);

sprintf(FileName,\年%d月.xls\以当前年月作为文件名

sprintf(Date,\日期赋值给字符串Date

i=atoi(Date)+2;//日期转化为整形,加2的原因是表格上面要留2行写其他东西 j++;

if(j==3) j=0;//换列用,每次前进一列,输入三次后返回 pExcel = __object_create(\fso=__object_create(\pExcel->Visible = 0;

if(!(fso->FileExists(FileName)))//判断文件夹内是否存在当前年月为名称的excle文件 {

pExcel->Workbooks ->Open (\

pExcel->ActiveWorkbook->SaveAs(FileName);//不存在则复制,做好的模板book1.xls,另存名称为当前年月 }

__object_delete(fso);

pExcel->Workbooks ->Open (FileName);

pExcel->WorkSheets(\供水\把变量写入第i行,j+2列

pExcel->WorkSheets(\补水\把变量写入第i行,j+6列

pExcel->ActiveWorkbook->Save();//保存 pExcel->Workbooks->Close(); pExcel->Quit();

__object_delete(pExcel);

本文来源:https://www.bwwdw.com/article/ftr2.html

Top