https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1266491&b_id=5&s_id=17&num=12#anch
根据上面这个简单修改的,在在编译时报Write变量未声明所以没有使用,
但是报“Set ObjExcelApp = Nothing”溢出,而在触摸屏里面运行时直接在
Set fso = CreateObject("scripting.FileSystemObject")这里就报错
Dim fso,myfile
Set fso = CreateObject("scripting.FileSystemObject")
Set myfile = fso.GetFile("\Storage Card USB\data.xls")
Dim ObjExcelApp
Set ObjExcelApp = CreateObject("Excel.Application")
'objExcelApp.Visible = True
ObjExcelApp.Workbooks.Open myfile
'上面的程序段是为了打开d盘excel文件
SmartTags("aa")=4
Dim aa_data
ObjExcelApp.worksheets ("sheet1").Cells(2, 9).VAlue = SmartTags("aa")
Dim i,j
If ObjExcelApp.worksheets ("sheet1").Cells(2, 9).VAlue>1.0 Then
i=2
j=6
End If
If ObjExcelApp.worksheets ("sheet1").Cells(2, 9).VAlue>0.8 And ObjExcelApp.worksheets ("sheet1").Cells(2, 9).VAlue<1.0 Then
i=7
j=11
End If
If ObjExcelApp.worksheets ("sheet1").Cells(2, 9).VAlue>0.6 And ObjExcelApp.worksheets ("sheet1").Cells(2, 9).VAlue<0.8 Then
i=12
j=16
End If
If ObjExcelApp.worksheets ("sheet1").Cells(2, 9).VAlue<0.6 Then
i=17
j=21
End If
'判断数据保存位置
Do While i<j
ObjExcelApp.worksheets ("sheet1").Cells(i, 1).VAlue =ObjExcelApp.worksheets ("sheet1").Cells(i+1, 1).VAlue
ObjExcelApp.worksheets ("sheet1").Cells(i, 2).VAlue = ObjExcelApp.worksheets ("sheet1").Cells(i+1, 2).VAlue
i=i+1
Loop
ObjExcelApp.worksheets ("sheet1").Cells(i, 1).VAlue =SmartTags("yy")
ObjExcelApp.worksheets ("sheet1").Cells(i, 2).VAlue =SmartTags("xx")
'写数据到excel表格
ObjExcelApp.ActiveWorkbook.Save
'保存表格
Dim cons_data,ax1_data,ax2_data,ax3_data,ax4_data,ax5_data,ax6_data
Set cons_data=(SmartTags("cons"))
Set ax1_data=(SmartTags("ax1"))
Set ax2_data=SmartTags("ax2")
Set ax3_data=SmartTags("ax3")
Set ax4_data=SmartTags("ax4")
Set ax5_data=SmartTags("ax5")
Set ax6_data=SmartTags("ax6")
SmartTags("cons").Value = ObjExcelApp.worksheets ("sheet1").Cells(23,7).value
ax1_data.Value = ObjExcelApp.worksheets ("sheet1").Cells(23, 6).value
ax2_data.Value = ObjExcelApp.worksheets ("sheet1").Cells(23, 5).value
ax3_data.Value = ObjExcelApp.worksheets ("sheet1").Cells(23, 4).value
ax4_data.Value = ObjExcelApp.worksheets ("sheet1").Cells(23, 3).value
ax5_data.Value = ObjExcelApp.worksheets ("sheet1").Cells(23, 2).value
ax6_data.Value = ObjExcelApp.worksheets ("sheet1").Cells(23, 1).value
'上面的作用是将Excel表格中的数据读到wincc,存到临时变量里面
ObjExcelApp.Workbooks.Close
ObjExcelApp.Quit
Set ObjExcelApp = Nothing
'到这里为止,关闭刚才打开的excel程序了
SetTag SmartTags("cons"),cons_data.Value
SetTag SmartTags("ax1"),ax1_data.Value
SetTag SmartTags("ax2"),ax2_data.Value
SetTag SmartTags("ax3"),ax3_data.Value
SetTag SmartTags("ax4"),ax4_data.Value
SetTag SmartTags("ax5"),ax5_data.Value
SetTag SmartTags("ax6"),ax6_data.Value
'cons_data.Write
'ax1_data.Write
'ax2_data.Write
'ax3_data.Write
'ax4_data.Write
'ax5_data.Write
'ax6_data.Write 这些在编译时报Write变量未声明所以没有使用
'最后是把读到的excel值从临时变量中写入它对应的wincc变量中