帮忙看一下这段VB程序是否正确
刘玉蓉
发布于2014-08-25 17:45
55
0
标签:
下面是编写的一段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看看变量的值有没有被读到,脚本没问题了就可以放到全局脚本中试试了。