关于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);
//***********************************
//SetTagWord("Minute",sysTime.wMinute);
//i=GetTagWord("Minute")+3;
//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")->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->ActiveWorkbook->PrintPreview();//可以预览
//if (i>=27) { pExcel->ActiveWorkbook->PrintOut(); }//直接打印
pExcel->Workbooks->Close();//关闭文件
pExcel->Quit();//退出Excel
__object_delete(pExcel);
//}

//return 0;

}

假如我把pExcel->Visible =1;
点击按钮时候(我的c脚本写在左击按下上),那个excel界面会闪一下,然后从D盘中就是没有生成excel文件,这是怎么回事,,,请高手指点一下,,顺便看看这段语句有什么问题??

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

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

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

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

最佳答案

在不同的地方插入messagebox,提示不同的内容,看执行到哪里不执行了就是哪里有问题
看不到你的图,说明你的文件保存的路径不对。如果这个路径下没有这个文件,你要先生成这个文件然后再保存数据。

提问者对于答案的评价:
你的思路很不错,谢谢。。。。后来我用GSC Diagnostics模板调试也不错的,,

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

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

相关推荐

  • WINCC 全局脚本里面的标准函数下的每个函数内容是什么?

    请问WINCC 全局脚本里面的标准函数下的每个函数内容是什么?他们的含义是什么?这些函数的具体使用方法是什么样的? 图片说明:    最佳答案 你可以…

    2019年6月11日
  • WINCC OPC客户机上数据更新越来越慢,甚至时有时无

    我们公司的高度室的监控计算机是WINCC OPC服务/客户机结构中的客户机,监视现场十几个车间生产数据。现场已经运行了六七年了,最近有两车间的数据更新越来越慢,甚至时有时…

    SIMATIC WinCC 2018年12月14日
  • WINCC V6.2 DP通信下的变量疑问

    我使用的是DP通信方式,在连接下创建外部变量的时候,我发现无法给变量分配地址,地址是WINCC系统自动给分配的,我想让WINCC读取CPU中的DB块内的地址,可是在DP通信下好像不…

    2018年3月6日
  • c代码处理recordset

    请问如何在C代码中处理ADO的recordset,我从数据库取得了值,能够用messagebox等显示出来,但是我如何把它复制给我的C变量(不是tag)呢? 我用char…

    SIMATIC WinCC 2019年6月11日
  • Wincc7如何快速查看某一天的历史曲线记录

    在实时曲线的界面中,Wincc7如何快速查看某一天的历史曲线记录? 最佳答案 只能在你的归档时间范围内查看历史曲线记录,方法如下:1.首先需要停止更新,然后选择时间范围,如图1所示…

    2017年11月12日
  • 如何获取wincc 7.2运行时的实时数据到外部的mysql数据库中?

    我希望能在wincc项目运行时,把实时的变量数据传递到外部的mysql/sql server数据库中,有什么实现方案吗?求教! 问题补充:实时变量的数据是要insert进…

    SIMATIC WinCC 2021年7月5日
  • wincc客户机权限问题

    想增加一台wincc客户机仅供监视,无其他操作权限,已在服务器增加这样一个用户,如何实现这台客户机只能已这个用户名登陆,防止它用其他权限的用户名登陆。 问题补充:感谢大家的回答,我…

    SIMATIC WinCC 2019年6月11日
  • Wincc V12字符归档

    Portal版本的Wincc,一直很费解,Wincc归档为什么非的限定浮点格式?像我们的设备,做出场试验用的,对每个产品的条形码,测试数据进行归档。条形码字符串的有没简单方法录入归…

    SIMATIC WinCC 2017年6月24日
  • tp170a触摸屏显示####

    主站是315-2dp,下面有2个im153,5个abb变频器,还有一个tp170a,都走dp网络,现在问题是一切正常,但屏开机一会(大概10秒左右)会全部显示数值为####,我也怀…

    SIMATIC WinCC 2017年12月2日
  • 关于wincc变量记录的两个问题

    运行后的控件如图“变量记录运行截图”所示1.只显示3行,新数据覆盖后,一直保持三行,哪里能设置显示的行数。2。数据上有一横线,什么意思?有的数据有横线有的没有。各位帮帮忙。3.如图…

    2018年12月6日