关于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日 下午8:10
下一篇 2017年11月12日 下午8:11

相关推荐

  • wincc怎么利用线画一个看着比较立体的管道

    wincc怎么利用线画一个看着比较立体的管道wincc怎么利用线画一个看着比较立体的管道wincc怎么利用线画一个看着比较立体的管道 最佳答案 使用WINCC7.0以上版本,可以直…

    SIMATIC WinCC 2021年7月5日
  • wincc2008内部报警

    wincc2008编译内部报警 问题补充:WINCC内部报警信息要怎么看呀 图片说明:    最佳答案 这种属于编译错误。查找触摸屏的编译错误一般比较简单:1、…

    2017年8月3日
  • 定期清除数据库

    我这边用%ignore_a_1%做一个工厂电表的采集数据,现在需要每年的1月1日清除数据库一次,这边然后我要用全局脚本(sql=delete from),这个脚本怎么写?…

    2021年7月5日
  • WINCC画面的组态

    如图,预想达到的效果是 点击“实时数据”按钮,下面五个黄色网的子菜单能折叠起来,再次点击,能自动弹出。请教一下,用C或VB脚本,应该怎么写?谢谢技术大牛,能给出源代码。 …

    2021年7月5日
  • wincc7.4安装了audit选件以后注销不了

    wincc7.4在安装audit选件之前注销和登录都很正常,在安装了audit选件以后无法注销了,求助 问题补充:audit的注销和登录是什么,可以截图看下吗,我用的是SIMATI…

    SIMATIC WinCC 2020年11月1日
  • wincc脚本运行莫名其妙出错?

    我在标准模块里写了一些访问数据库的公共方法,然后在前台按钮去调用,竟然会出现一会可以运行,一会不可以运行的情况。我在函数里面写了中文,难道是中文的问题?但为什么偶尔行偶尔不行呢?更…

    SIMATIC WinCC 2019年6月11日
  • S7 300 PLC和WINCC无法建立S7连接

    在做一个有关高速数据采集的项目,目前的想法是在每一个扫描周期记录过程值,在记录完成后将过程值的DB块通过FB12(BSEND)发送到WINCC,然后在曲线上显示出来。目前参考的是以…

    2017年12月9日
  • WinCC的应用

    有WinCC组态、变量连接、OPC服务器的功能说明 钻石用户推荐最佳答案 WinCC OPC通信问题合集http://www.ad.siemens.com.cn/prod…

    2021年7月5日
  • 许可证重复,变量超出

    检测到多个具有相同名称的许可证,存在1951个变量,限制是128个。 钻石用户推荐最佳答案 WinCC授权点数如何计算http://www.ad.siemens.com.cn/pr…

    SIMATIC WinCC 2021年7月5日
  • wincc7.3 报“SCRIPT已停止工作”

    wincc7.3 按钮动作调用VBS脚本,正常运行的时候,点击按钮后有的时候就会弹出如附件图片中的报错,“SCRIPT已停止工作”,出现报错后整个WINCC运行界面就卡死…

    2021年7月5日