我从网上下了一段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);
//***********************************
//SetTagWord("Minute",sysTime.wMinute);
//i=GetTagWord("Minute")+3;
//if(i>26){GetTagWord("Minute");}
//elseif(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);
//}
//return0;
}
假如我把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,提示不同的内容,看执行到哪里不执行了就是哪里有问题
看不到你的图,说明你的文件保存的路径不对。如果这个路径下没有这个文件,你要先生成这个文件然后再保存数据。
提问者对于答案的评价:
你的思路很不错,谢谢。。。。后来我用GSCDiagnostics模板调试也不错的,,