void OnClick(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)
{
int i;
#pragma code ("kernel32.dll")//调用动态链接库
VOID GetLocalTime(LPSYSTEMTIME lpSystemTime);
#pragma code ()
#pragma code("Shell32.dll")//调用动态链接库
VOID ShellExecuteA(HWND, LPCTSTR , LPCTSTR , LPCTSTR , LPCTSTR , INT);
#pragma code()
char FileName[30] = "";
SYSTEMTIME sysTime;
__object* pExcel = NULL; //建立 pExcel 指针 用来对 EXCEL 进行操作
HWND handle=NULL;
handle=FindWindow(NULL,"WinCC-运行系统 - ");
GetLocalTime(&sysTime);
//***********************************
SetTagWord("Minute",sysTime.wMinute);
i=GetTagWord("Minute")+2;
if (i>26) { GetTagWord("Minute") ;}
else if (i<=26)
{
sprintf(FileName,"d:\\Day_Report_%02d-%02d-%02d.xls",sysTime.wYear,sysTime.wMonth,sysTime.wDay);
pExcel = __object_create("Excel.Application");
pExcel->Visible = 0;//控制生成的excel文件是否可见,当1时,生成excel文件时可见.
pExcel->Workbooks ->Open (FileName);
pExcel->Worksheets("sheet1")->Cells(i,1)->Value=GetTagChar("shijian");//Return-Type: char* 读取当前计算机名
pExcel->Worksheets("sheet1")->Range("X2")->Value=GetTagChar("@CurrentUser");//Return-Type: char* 读取当前操作员
pExcel->Worksheets("sheet1")->Cells(i,2)->Value=GetTagChar("TAG1");
pExcel->Worksheets("sheet1")->Cells(i,3)->Value=GetTagFloat("TAG2");
pExcel->Worksheets("sheet1")->Cells(i,4)->Value=GetTagFloat("TAG3");
pExcel->Worksheets("sheet1")->Cells(i,5)->Value=GetTagFloat("TAG4");
pExcel->Worksheets("sheet1")->Cells(i, 6)->Value=GetTagFloat("TAG5");
pExcel->Worksheets("sheet1")->Cells(i,7)->Value=GetTagFloat("TAG6");
pExcel->ActiveWorkbook->Save;//As(FileName);//存盘~
pExcel->ActiveWorkbook->PrintPreview();//可以预览
//if (i>=27) { pExcel->ActiveWorkbook->PrintOut(); }//直接打印
pExcel->Workbooks->Close();//关闭文件
pExcel->Quit();//退出Excel
__object_delete(pExcel);
}
}
此段脚本是我在网上的找的一段从Wincc向EXCEL写数据的实例循环周期为1分钟,原来是横向按列写数据的(即一变量对应一行),后来改动了下写数据格式,发现无法实现换行写数据,没查出原因来,请前辈们指点下
最佳答案
是否换行主要i有没有变化,从脚本中可以看出i取决与当前系统时间的分钟。
可能的原因是Minute变量不存在。
提问者对于答案的评价:
你好107,我建了Minute变量,全局脚本的触发周期选1S,监控Minute变量是循环变化的,可对应的换行写数据还是无法实现,也注意了应用进程里的EXCEL程序
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc274134.html