关于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输入输出域中显示值跳变原因

    现在遇到输入输出域显示数值跳变的问题,在实际值30.1和某个值-1650.0(一个压力模拟块)之间跳变,实际值是STEP7中温度模块的实际输出值,STEP7中的这个压力模块输入(电…

    SIMATIC WinCC 2019年6月11日
  • C语言怎样在静态文本中输入字符

    我想问一下怎样用C语言通过一个内部定义的变量在静态文本中输入字符,随便举个例,越详细真切越好? 问题补充:你的回答答非问,所以我不有把分给你,难道这个问题很难吗,居然没一个答的上来…

    SIMATIC WinCC 2019年6月11日
  • 关于用户数据归档的查绚问题

    我最近在用WINCC 7。0  SP3 AISA做一个用户数据记录归档。我想做一个一直在记录的,当我选取一个时间段查绚的时候,它自动给我生成…

    2017年12月7日
  • 网络连接问题

    客户机和服务器怎么配置网络设置,要用以太网连接,请说详细点,我是一点也不知道,要和PLC连接是不是还要在PLC的网络上一起组态,还是WINCC单独组态,没找到WINN上有组态的东西…

    SIMATIC WinCC 2019年6月11日
  • 用wincc的脚本进行二进制位变量的位操作和判断

    建立一个16位的wincc二进制位变量*,然后将S7的变量A,B,C。。。的值0/1按顺序放到*中,放完后了再和固定值比对,每个位数值不对都对应一个文字输出。用脚本怎么编了? 问题…

    SIMATIC WinCC 2019年6月11日
  • 关于wincc使用该函数的作用

    PDLRTSetPropEx(0,lpszPictureName,"pic_window","Visible",VT_BOOL,&Bool,…

    SIMATIC WinCC 2018年12月9日
  • 2000系统的sp4版装6.0

    在装wincc6.0的一个SQL-sever2000(sp3)时,我的系统是2000的sp4但装不上.怎么办? 问题补充:系统提示更新到IE6.0 最佳答案 在WINDOWS&nb…

    SIMATIC WinCC 2019年6月11日
  • 利用sql2005,怎么查看已归档好的变量记录

    对方信息部门,需要从数据库里提取数据我已经将变量处理归档好,在sql里找不到那个表格是 图片说明:    最佳答案 wincc变量归档和报警归档在SQL数据库中…

    2021年7月5日
  • WINCC控件里的系统时间显示格式

    在WINCC报表编辑器的在线表格控件里,前面默认的系统日期和时间项里,怎么在时间后面多了一个“+08:00”,怎样能去掉?怎样能只显示时间不显示日期,系统显示的日期和时间格式可以自…

    SIMATIC WinCC 2019年6月11日
  • Wincc动画实现

    wincc中,用很多图片,一定时间间隔显示一幅图,这样可以实现动画效果。可是一定时间间隔显示图片如何来实现呢?请教各位高人。本人初学,详细些。 问题补充:请各位介绍详细些。 最佳答…

    SIMATIC WinCC 2019年6月11日