幫忙看一下這段VB程序是否正確
劉玉蓉
發(fā)布于2014-08-25 17:45
55
0
標簽:
下面是編寫的一段VB程序,功能是將WINCC中的監(jiān)測數(shù)值傳送到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
我就簡單的寫了一些直接傳輸?shù)?,間接抓取的變量沒寫,觸發(fā)器為1秒,請問一下,這個程序放在全局腳本中正確嗎?為什么報表上卻沒有相應(yīng)填寫的數(shù)據(jù)呢?需不需要建立其他的連接(比如DDB連接需要添加DDB連接方式)?如果哪里不對請指教!
佳答案
一般是要先定義變量才能讀取的,如:
dim tag1
set tag1=hmiruntime.tags("tag1")
tag1.read
你可以先不放在全局腳本下,先放在按鈕事件中調(diào)試好先,如
objExcelapp.Cells(13, 4).Value=HMIRuntime.Tags("TAG1").Value
你在寫這句腳本之前可先用msgbox HMIRuntime.Tags("TAG1").Value看看變量的值有沒有被讀到,腳本沒問題了就可以放到全局腳本中試試了。