关于wincc跟excel的数据写

由于上次提的问题,没有附上图,重新提一个。。。

我从网上下了一段c脚本进行生成excel,然后写数据,最后保存退出
c脚本如下:
------------------------------------
#include "apdefap.h"
void OnLButtonDown(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName, UINT nFlags, int x, int y)
{

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 进行操作
__object* fso=NULL;


HWND handle=NULL;
handle=FindWindow(NULL,"WinCC-运行系统 - ");


GetLocalTime(&sysTime);

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")->Range("X1")->Value=GetTagChar("@ServerName");//Return-Type: char* 读取当前计算机名
pExcel->Worksheets("sheet1")->Range("X2")->Value=GetTagChar("@CurrentUser");//Return-Type: char* 读取当前操作员
pExcel->Worksheets("sheet1")->Cells(6,i)->Value=GetTagFloat("TAG1_1");
pExcel->Worksheets("sheet1")->Cells(7,i)->Value=GetTagFloat("TAG1_2");
pExcel->Worksheets("sheet1")->Cells(8,i)->Value=GetTagFloat("TAG1_3");
pExcel->Worksheets("sheet1")->Cells(9,i)->Value=GetTagFloat("TAG1_4");
pExcel->Worksheets("sheet1")->Cells(10, i)->Value=GetTagFloat("TAG1_5");
pExcel->Worksheets("sheet1")->Cells(11, i)->Value=GetTagFloat("TAG1_6");
pExcel->ActiveWorkbook->SaveAs(FileName);//存盘~

pExcel->Workbooks->Close();//关闭文件
pExcel->Quit();//退出Excel
__object_delete(pExcel);


}


根据zhangli0- 资深顾问 提示,我用messagebox来调试了一下就是有这样的一个问题:(我在下面的程序段插入messagebox)
================================
pExcel = __object_create("Excel.Application"); //可以生成文件 就像附图1一样的,没有单元格的

MessageBox(NULL,FileName,"标22222222222222222222题", MB_OKCANCEL ); //能在对话中显示正确的filename

pExcel->Visible =1; //excel弄成显示的

pExcel->Workbooks ->Open (FileName); 打开的时候就是提示没有找到该路径下的excel表格


请高手解答一下。。。。。。

图片说明:

关于wincc跟excel的数据写   

最佳答案

http://www.52plc.net/read.php?tid=4596换个思路看看这个再说。

提问者对于答案的评价:
谢谢你的回答,已经找到答案

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc211068.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2017年11月12日
下一篇 2017年11月12日

相关推荐

  • wincc的归档只能看7月5号到现在的记录,是怎么回事

    我的一个模拟量的在线趋势,怎么只能看到7月5号到现在的,7月5号之前的记录怎么看啊,是不是丢失了???就是那个在线趋势控件,运行后我点STOP,然后点第一条记录,就是7月5号的,7…

    SIMATIC WinCC 2017年12月10日
  • 角度转换

    在WINCC画面上的0°-360°与PLC中是如何对应的?应该有一个算法吧?烦劳给详细解释一下,谢谢! 问题补充:例如一个回转的杠杆,一端(A)为0°,那么另一端(B)则为180°…

    SIMATIC WinCC 2019年6月11日
  • 结构画面

    我想问一下WINCC 能做个子画面吗?例如:我有10个电机的启动停止运行信号都是一样的!只做一个画面,10个电机都调用它可以吗?谢谢,可以发个实例给我吗? &n…

    SIMATIC WinCC 2019年6月11日
  • 自动设置复选框

    求助,我的一个复选框里有两个索引,我想根据两个PLC里的二进制的值 分别进行反馈,请问如何。注意我只用一个复选框,含有两个选项。我给obj.Process赋值赋不上。 最…

    SIMATIC WinCC 2019年6月11日
  • wincc7.0启动激活问题

    我的wincc系统是从原来的wincc6.2版本移植到wincc7.0版本上的,运行激活后(将启动项全部选择)第一次能进入运行系统,退出激活后再次进入运行激活状态,系统就会停止在运…

    SIMATIC WinCC 2019年6月11日
  • WINCC 中退出时关机的脚本出的问题。。。

    我看到有人说 退出时关机可以用以下脚本: DMExitWinCCEx  (DM_SDMODE_POWEROFF); 我照此写了,但…

    SIMATIC WinCC 2019年6月11日
  • 输入输出域保持值

    画面上我放置了一个输入输出域,连接一个内部变量,我想在激活后,输入输出域的值就是“100”,而且在激活的画面上还可以修改输入输出域的值的大小,我想问下怎么实现 最佳答案 变量定义时…

    SIMATIC WinCC 2019年6月11日
  • WINCC 报警自动复位问题

    WINCC 报警做好了,当有故障变量触发的时候,报警会响,但是当报警变量复位的时候报警不会自动复位,还在继续报警,会导致电脑音箱一直在播放报警声音,只有手动确认后,报警才…

    2021年7月5日
  • connectivity pack安装

    我正在看一个文档尝试做报表里面提到connectivity pack这个软件包,我想知道这个软件包是需要自己手动安装,还是在安装pcs7盘的时候自动安装上去的呢 图片说明…

    2019年6月10日
  • WINCC问题1,,

    请问我的WINCC ,1:明明组态了起始画面,单运行的时候报错说没有找到起始画面,然后在提示框里面,我现在其他画面也不行,说找不到,但是这些画面都是有的啊,为什么都找不到…

    SIMATIC WinCC 2021年7月5日