| 作者 | 主题 |
|---|---|
|
power2004 游民 经验值:96 发帖数:73 精华帖:0 |
楼主
主题:wincc5.1怎么通过C脚本实时向excel传送数据 并保存以当天日期为名? |
|
有谁共鸣 侠圣 经验值:3112 发帖数:2153 精华帖:21 |
楼
主题:回复:wincc5.1怎么通过C脚本实时向excel传送数据 并保存以当天日期为名?
如下是本人繁忙中测试通过的代码:
(可以直接拷贝编译运行,但要注意记得在D盘创建命名问book1的excel文件!(即:d:\\book1.xls)) #pragma code ("kernel32.dll") VOID GetLocalTime(LPSYSTEMTIME lpSystemTime); #pragma code () char FileName[20] = ""; SYSTEMTIME sysTime; __object* pExcel = NULL; GetLocalTime(&sysTime); sprintf(FileName,"d:\\%d-%d-%d.xls",sysTime.wYear,sysTime.wMonth,sysTime.wDay); pExcel = __object_create("Excel.Application.9"); //9表示用的是office 2000 pExcel->Visible = 1; pExcel->Workbooks ->Open ("d:\\book1.xls"); pExcel->Worksheets("sheet1")->Range("A1")->Value=12;//GetTagFloat("wincctag1"); //写wincc的变量实时值到格A1中 pExcel->Worksheets("sheet1")->Range("A2")->Value=24;//GetTagFloat("wincctag2"); //写wincc的变量实时值到格A2中 pExcel->ActiveWorkbook->SaveAs(FileName); pExcel->Workbooks->Close(); pExcel->Quit(); __object_delete(pExcel);
雄关漫道真如铁,而今迈步从头越!
|
|
有谁共鸣 侠圣 经验值:3112 发帖数:2153 精华帖:21 |
楼
主题:回复:wincc5.1怎么通过C脚本实时向excel传送数据 并保存以当天日期为名?
打印的程序也出来了!
小弟献丑啦: 拷贝放到按钮下就可以了! #include "apdefap.h" void OnLButtonDown(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName, UINT nFlags, int x, int y) { #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[20] = ""; SYSTEMTIME sysTime; __object* pExcel = NULL; HWND handle=NULL; handle=FindWindow(NULL,"WinCC-运行系统 - "); GetLocalTime(&sysTime); sprintf(FileName,"d:\\%d-%d-%d.xls",sysTime.wYear,sysTime.wMonth,sysTime.wDay); pExcel = __object_create("Excel.Application.9"); //9表示用的是office 2000 pExcel->Visible = 1; pExcel->Workbooks ->Open ("d:\\book1.xls"); pExcel->Worksheets("sheet1")->Range("A1")->Value=12;//GetTagFloat("wincctag1"); //写wincc的变量实时值到格A1中 pExcel->Worksheets("sheet1")->Range("A2")->Value=24;//GetTagFloat("wincctag2"); //写wincc的变量实时值到格A2中 pExcel->ActiveWorkbook->SaveAs(FileName); pExcel->Workbooks->Close(); pExcel->Quit(); __object_delete(pExcel); ShellExecuteA(handle, "print", FileName, NULL, "D:\\",SW_SHOWMAXIMIZED); }
雄关漫道真如铁,而今迈步从头越!
|
|
shine 至圣 经验值:19820 发帖数:8803 精华帖:39 |
楼
主题:回复:wincc5.1怎么通过C脚本实时向excel传送数据 并保存以当天日期为名?
在“pExcel->ActiveWorkbook->SaveAs(FileName);”后再加一句
pExcel->ActiveWorkbook->PrintPreview();就可以预览, 或 pExcel->ActiveWorkbook->PrintOut();直接打印 |