帮忙看一下这段VB程序是否正确

下面是我编写的一段VB程序,功能是将WINCC中的监测数值传送到EXCEL报表指定单元格中,程序如下:
On Error Resume Next 
Dim objExcelAPP,xlbook,xlsname,isOpen
xlsname="D:\shengchanjilu/R2012/R2012-baobiao.xls" 
Set objExcelAPP=GetObject("Excel.Application") 
objExcelAPP.Visible=True
If TypeName(objExcelAPP)="Application" Then

For Each xlbook In objExcelAPP.Workbooks
If xlbook.FullName=xlsname Then
isOpen=True
Exit For
End If
Next
Else
objExcelAPP.Workbooks.Open "D:\shengchanjilu/R2012/R2012-baobiao.xls"
End If

If isOpen=True Then

objExcelapp.Cells(13, 4).Value=HMIRuntime.Tags("TAG1").Value
objExcelapp.Cells(13, 5).Value=HMIRuntime.Tags("TAG2").Value
objExcelapp.Cells(14, 4).Value=HMIRuntime.Tags("TAG3").Value
Else
End If
我就简单的写了一些直接传输的,间接抓取的变量没写,触发器为1秒,请问一下,这个程序放在全局脚本中正确吗?为什么我的报表上却没有相应填写的数据呢?需不需要建立其他的连接(比如DDB连接需要添加DDB连接方式)?如果哪里不对请指教!谢谢

最佳答案

一般是要先定义变量才能读取的,如:
dim tag1
set tag1=hmiruntime.tags("tag1")
      tag1.read
你可以先不放在全局脚本下,先放在按钮事件中调试好先,如
objExcelapp.Cells(13, 4).Value=HMIRuntime.Tags("TAG1").Value
你在写这句脚本之前可先用msgbox HMIRuntime.Tags("TAG1").Value看看变量的值有没有被读到,脚本没问题了就可以放到全局脚本中试试了。

提问者对于答案的评价:
太感谢了,看到曙光了!

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2019年6月11日 上午2:26
下一篇 2019年6月11日 上午2:27

相关推荐