发布于 2009-08-26 08:03:22
0楼
Dim fso,myfile
Set fso = CreateObject("s cripting.FileSystemObject")
Set MyFile = fso.GetFile("d:\Excelcode.xls")
Dim ObjExcelApp
Set objExcelApp = CreateObject("Excel.Application")
objExcelApp.Workbooks.Open MyFile
'上面的程序段是为了打开d盘下叫Excelcode.xls名字的excel文件
objExcelApp.worksheets ("sheet1").Cells(1, 1).VAlue = HMIRuntime.Tags("usercodenew1").read
objExcelApp.ActiveWorkbook.Save
'上面两行的作用是将wincc变量"usercodenew1"的值写到Excel表中的A1格子里面,并且保持一下
Dim coldold
Set coldold=HMIRuntime.Tags("usercodeold1")
coldold.Value = objExcelApp.worksheets ("sheet1").Cells(1, 1).value
'上面这两句的作用是将刚才保持到Excel表格中的数据重新读回wincc,存到"usercodeold1"变量中,当然现在其实并没有存入"usercodeold1"变量,只是存在了叫coldold的临时变量里面
objExcelApp.Workbooks.Close
objExcelApp.Quit
Set ObjEXceLapp = Nothing
'到这里为止,我们可以通过上面的语句关闭刚才打开的excel程序了
coldold.Write
'最后是把读到的excel值从临时变量coldold中写入它对应的"usercodeold1"变量中
上面这些是用vbs做的wincc和excel之间的数据传输。
粮油自控专家/具体内容请详见网站:www.lyoil.com www.lyoil.com.cn
博客:http://yinpingkhas.blog.163.com/