搬家第一天-17.Wincc V7.3 采集excel文件数据填入Microsoft Hierarchical Flexgrid控件
案例:有时候我们需要将excel文件中数据采集出来存放入grid类型的控件进行显示,excel文件显示如下:
wincc页面放置一个按钮,用于弹出消息框显示行数;放置Microsoft Hierarchical Flexgrid控件,设置名称为MSHFlex。wincc新建一个内部变量path,用于存放excel文件的路径。在wincc页面打开事件中写入一下VBS脚本。
Sub OnOpen()
Dim path
Set path=hmiruntime.Tags("path")
path.write HMIRuntime.ActiveProject.Path & "\myxls.xlsx"
End Sub
在按钮的点击事件中写入以下脚本:
Sub OnClick(ByVal Item)
Dim objflex,xlApp,xlBook,path,RowCount,ColCount
Dim i,j
Set objflex=ScreenItems("MSHFlex")
path=HMIRuntime.Tags("path").Read
Set xlApp=CreateObject("excel.application")
xlApp.Visible=False
xlApp.Workbooks.Open path
xlApp.Worksheets("Sheet1").Activate
RowCount=xlApp.Worksheets("Sheet1").usedrange.rows.count
ColCount=xlApp.Worksheets("Sheet1").usedrange.Columns.count
objflex.Cols=ColCount+1
objflex.Rows=RowCount
For i=1 To ColCount
objflex.TextMatrix(0,i)=xlApp.Worksheets("Sheet1").cells(1,i).value
Next
For i=2 To RowCount
For j=1 To ColCount
objflex.TextMatrix(i-1,j)=xlApp.Worksheets("Sheet1").cells(i,j).value
Next
Next
xlApp.Workbooks.Close
xlApp.Quit
Set xlApp=Nothing
End Sub