找答案的高端用户(找答案钻石及双钻级别的用户)将尽可能从此问题下的所有回
答中,为您推荐最佳答案。届时您可以根据推荐数采纳答案。
如果自提问时间起7天内您仍无法选出最佳答案,您可以选择“无满意答案”关闭此问题。
问题
取消精华
首页精华问答
取消推荐
高端用户推荐
申请置评
已申请置评
修改
修改标签
添加标签
官方认证
取消官方认证
修改标签
添加标签
转移分类
删除
{{itemCategory}}
收藏({{answerDetail.Q_FavoriteCounts}})
手机扫码追踪该问题,
觉得实用,立即去分享!
点击复制链接
专家建议
取消最佳答案
修改
只打开EXCELL是不行,
可以用C脚本
给你转个论坛的帖子做参考
取之于“民”用之于“民”,几段代码,希望对后来者有帮助,不要见笑。
1、记录脚本:同一卡片号的每一根钢的数据记录,有多少根,记多少行
#include "apdefap.h"
int gscAction( void )
{
#pragma code ()
char FileName[20] = " ";
double genshu,row,col;
__object* pExcel = NULL;
genshu=GetTagDouble("记数根数");
SetTagDouble("根数记录",genshu);
row=genshu+4;
if((GetTagBit("钢温记录信号")==1))
{
pExcel = __object_create("Excel.Application.9"); //9表示用的是office 2000
pExcel->Visible =0;
pExcel->Workbooks ->Open ("e:\\LZEQ_HMI\\JILU.xls");//Cells(row,col)
pExcel->Worksheets("sheet1")->Cells(row,1)->Value=GetTagWord("记数根数");
pExcel->Worksheets("sheet1")->Cells(row,2)->Value=GetTagChar("开始时间");
pExcel->Worksheets("sheet1")->Cells(row,3)->Value=GetTagWord("1#高温计温度记录");
pExcel->Worksheets("sheet1")->Cells(row,4)->Value=GetTagFloat("1#水箱流量记录");
pExcel->Worksheets("sheet1")->Cells(row,5)->Value=GetTagWord("2#高温计温度记录");
pExcel->Worksheets("sheet1")->Cells(row,6)->Value=GetTagFloat("2#水箱流量记录");
pExcel->Worksheets("sheet1")->Cells(row,7)->Value=GetTagWord("3#高温计温度记录");
pExcel->Worksheets("sheet1")->Cells(row,8)->Value=GetTagFloat("3#水箱流量记录");
pExcel->Worksheets("sheet1")->Cells(row,9)->Value=GetTagWord("4#高温计温度记录");
pExcel->Worksheets("sheet1")->Cells(row,10)->Value=GetTagWord("5#高温计温度记录");
pExcel->Worksheets("sheet1")->Cells(row,11)->Value=GetTagFloat("4#水箱流量记录");
pExcel->Worksheets("sheet1")->Cells(row,12)->Value=GetTagWord("6#高温计温度记录");
pExcel->Worksheets("sheet1")->Cells(row,13)->Value=GetTagWord("7#高温计温度记录");
pExcel->Worksheets("sheet1")->Cells(row,14)->Value=GetTagFloat("5#水箱流量记录");
pExcel->Worksheets("sheet1")->Cells(row,15)->Value=GetTagWord("8#高温计温度记录");
pExcel->Worksheets("sheet1")->Cells(row,16)->Value=GetTagChar("系统时间");
SetTagBit("钢温记录信号",0);
}
pExcel->ActiveWorkbook->Save;
pExcel->Workbooks->Close();
pExcel->Quit();
__object_delete(pExcel);
return 0;
}
2、存储脚本。每一卡片号的钢记录为一张以卡片号为名的Excel表
#include "apdefap.h"
int gscAction( void )
{
#pragma code ("kernel32.dll")
VOID GetLocalTime(LPSYSTEMTIME lpSystemTime);
#pragma code ()
char FileName[20] = " ";
char* Name;
float guige,hao;
#pragma code("kernel32.dll")
BOOL DeleteFileA(LPCTSTR lpFileName);//声明API函数。
#pragma code()
SYSTEMTIME sysTime;
__object* pExcel = NULL;
GetLocalTime(&sysTime);
hao=GetTagFloat("卡片号_22");
//Name=GetTagChar("卡片号_22");
if (hao==0)
{
Name=GetTagChar("系统时间");
}
else
{
Name=GetTagChar("卡片号_22");
}
guige=GetTagFloat("轧制规格_22");
if (guige>1000)
{
guige=guige/100;
SetTagFloat("成品规格记录",guige);
}
else
{
SetTagFloat("成品规格记录",guige);
}
if ((guige>100)&(guige<1000))
{
guige=guige/10;
SetTagFloat("成品规格记录",guige);
}
else
{
SetTagFloat("成品规格记录",guige);
}
if((GetTagBit("转存")==1))
{
sprintf(FileName,"e:\\LZEQ_HMI\\记录\\%s.xls" ,Name);
pExcel = __object_create("Excel.Application.9"); //9表示用的是office2000
pExcel->Visible = 0;
pExcel->Workbooks ->Open ("e:\\LZEQ_HMI\\JILU.xls");
pExcel->Worksheets("sheet1")->Range("A2")->Value=GetTagChar("形状");
pExcel->Worksheets("sheet1")->Range("A1")->Value=GetTagChar("控冷");
pExcel->Worksheets("sheet1")->Range("C2")->Value=GetTagFloat("成品规格记录");
pExcel->Worksheets("sheet1")->Range("F2")->Value=GetTagChar("开始日期1");
pExcel->Worksheets("sheet1")->Range("J2")->Value=GetTagChar("系统日期");
pExcel->Worksheets("sheet1")->Range("C3")->Value=GetTagDouble("卡片号_22");
pExcel->Worksheets("sheet1")->Range("F3")->Value=GetTagChar("钢种_22");
pExcel->Worksheets("sheet1")->Range("I3")->Value=GetTagChar("炉号_22");
pExcel->Worksheets("sheet1")->Range("L3")->Value=GetTagChar("来料规格_22");
pExcel->Worksheets("sheet1")->Range("O3")->Value=GetTagChar("本卡片号根数_22");
pExcel->ActiveWorkbook->SaveAs(FileName);
pExcel->Workbooks->Close();
pExcel->Quit();
__object_delete(pExcel);
DeleteFileA("e:\\LZEQ_HMI\\JILU.xls");//调用API函数。
pExcel = __object_create("Excel.Application.9"); //9表示用的是office 2000
pExcel->Visible =0;
pExcel->Workbooks ->Open ("e:\\LZEQ_HMI\\运行数据库初始\\JILU.xls");
pExcel->ActiveWorkbook->SaveAs("e:\\LZEQ_HMI\\JILU.xls");
pExcel->Workbooks->Close();
pExcel->Quit();
__object_delete(pExcel);
SetTagBit("转存",0);
}
return 0;
}
3、记录卡片号查询代码
char FileName[256];
sprintf(FileName,"C:\\Program Files\\Microsoft
Office\\Office\\Excel.exe e:\\LZEQ_HMI\\记录\\%s.xls",GetTagChar("查询卡片号"));
ProgramExecute(FileName);
等您来回答
换一换
{{item.CoinValue}}西币
{{item.VisitNum}}人想问
本版相关问题
换一换
专家置评
首次回答问题,获得
双倍西币积分!
立即成为技术知识分享的一员!
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!

西门子商城