通过VBS脚本将wincc数据导出至excel
刘玉蓉
发布于2014-12-11 17:12
7
0
标签:
目的:每单击一次鼠标左键,将一个wincc内部变量"tag1"写入excel表格中。次单击鼠标,数据存进表格的行,其中列为单击鼠标的时间,第二列为当前"tag1"的数值;第二次单击鼠标时,数据存进第二行。。。依此类推, 代码如下:但问题是功能始终实现不了,请看看这段代码问题出在哪里了!
Sub OnLButtonDown(Byval Item, Byval Flags, Byval x, Byvaly)
Dim value,k
Set value = HMIRuntime.Tags("i") // 变量“i”是内部变量无符号32数,
k = value.Read // 记录鼠标单机的次数
Dim fname
fname="D:
eport3.xlsx"
Dim ObjExcelApp
Set objExcelApp = CreateObject("Excel.Application")
objExcelApp.Workbooks.Open fname
objExcelApp.worksheets ("sheet1").Cells(k, 2).Value = HMIRuntime.Tags("tag1").read
objExcelApp.worksheets ("sheet1").Cells(k, 1).Value = Now
k = k + 1
HMIRuntime.Tags ("i").Write k
objExcelApp.ActiveWorkbook.Save
objExcelApp.Workbooks.Close
objExcelApp.Quit
Set ObjExcelApp = Nothing
End Sub
问题补充:
这种方法还是可以的,问题出在 i 的初始值上了,从行开始记录 初始值需要设定为1
佳答案
你的方法有问题,试试用 还有你的定义不要用value。这是属性词
Set tag = HMIRuntime.Tags("i")
With objExcelApp.worksheets(sheetname)
.cells(t,1).value=NOW
tag.read
.cells(t,2).value=tag.value
End With
Next