为什么不能生成excel报表,请高手指点

Option Explicit
Function action
Dim objExcelApp
Set objExcelApp = CreateObject("Excel.Application")
objExcelApp.Visible =false

Dim c9
Set c9 = HMIRuntime.Tags("aaa")
c9.Read
If c9.Value>0 Then
Dim ldcl
Set ldcl = HMIRuntime.Tags("0点产量")
ldcl.Read
Dim bdcl
Set bdcl = HMIRuntime.Tags("8")
bdcl.Read
Dim sdcl
Set sdcl = HMIRuntime.Tags("4点产量")
sdcl.Read


objExcelApp.Workbooks.Open"E:\日报表1.xls"
objExcelApp.Cells(1,1).Value=Date
objExcelApp.Cells(2,2).Value=ldcl.value
objExcelApp.Cells(3,2).Value=bdcl.value
objExcelApp.Cells(4,2).Value=ldcl.value

Dim coun
For coun=1 To 4
Next
Dim patch,filename
filename=CStr(Year(Now))&CStr(Month(Now))&CStr(Day(Now))
patch="E:\报表"&filenaME&"-报表.xls"
objExcelApp.ActiveWorkbook.SaveAs patch
objExcelApp.Workbooks.Close
objExcelApp.Quit
Set oApp = Nothing
End If
End Function

最佳答案

试过这段脚本没问题
1.变量名最好不要含有中文,即使是中文版的WINCC,也最好不要
(我的是英文版的,不知道是不是这个原因)
2.Set oApp = Nothing 删掉 都没定义oApp 怎么清空呢
3.日报表的模板要先在E盘根目录下建好,否则报错
4.调试的时候把智能对象的应用窗口调出来,方便诊断和调试
5.日报表还要牵涉是按钮触发生成还是每日定时自动生成,自己搜搜吧

提问者对于答案的评价:
我想把日期定义成excel报表的行,(例如今天10日就把数据写到第十行,明天11日把数据写到第11行)   自动保存,每个月记录一次,随时可以查询当月以前的数据,
怎样修改,请多赐教
 
   
2013.3.10 11   20 
2013.3.11 11   21 
2013.3.12 11   22

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2018年12月5日 下午2:50
下一篇 2018年12月5日 下午2:50

相关推荐