由于上次提的问题,没有附上图,重新提一个。。。
我从网上下了一段c脚本进行生成excel,然后写数据,最后保存退出
c脚本如下:
————————————
#include"apdefap.h"
voidOnLButtonDown(char*lpszPictureName,char*lpszObjectName,char*lpszPropeRTyName,UINTnFlags,intx,inty)
{
inti;
#pragmacode("kernel32.dll")//调用动态链接库
VOIDGetLocalTime(LPSYSTEMTIMElpSystemTime);
#pragmacode()
#pragmacode("Shell32.dll")//调用动态链接库
VOIDShellExecuteA(HWND,LPCTSTR,LPCTSTR,LPCTSTR,LPCTSTR,INT);
#pragmacode()
charFileName[30]="";
SYSTEMTIMEsysTime;
__object*pExcel=NULL;//建立pExcel指针用来对EXCEL进行操作
__object*fso=NULL;
HWNDhandle=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表格
请高手解答一下。。。。。。
图片说明:
最佳答案
htTP://www.52PLC.net/read.php?tid=4596换个思路看看这个再说。
提问者对于答案的评价:
谢谢你的回答,已经找到答案