请教楼主你是怎么实现excel表格记录报表的?可以把你的程序发给我看看吗?
我我做了一段程序,可是没有数据进来。我利用VB做的。我参考了西门子官网上的文件“WinCC数据报表实现方法介绍.pdf ”
楼主看看程序上有哪些不足。
Dim objExcelApp,objExcelBook,objExcelSheet
Dim tagyali1,tagyali2,tagyali3,tagyali4
Dim tagliuliang1,tagliuliang2
Dim tago2
Dim tagshijian,sheetname
Dim i,j
Dim msg
Set tagyali1=HMIRuntime.Tags("MicroWin.fuyang.v.p1")
Set tagyali2=HMIRuntime.Tags("MicroWin.fuyang.v.p2")
Set tagyali3=HMIRuntime.Tags("MicroWin.fuyang.v.p3")
Set tagyali4=HMIRuntime.Tags("MicroWin.fuyang.v.p4")
Set tagliuliang1=HMIRuntime.Tags("MicroWin.fuyang.v.l1")
Set tagliuliang2=HMIRuntime.Tags("MicroWin.fuyang.v.lt2")
Set tago2=HMIRuntime.Tags("MicroWin.fuyang.v.o2")
msg="ok"
sheetname="sheetdemo"
On Error Resume Next
Dim ExcelApp,ExcelBook
Set ExcelApp=GetObject(,"Excel.Application")
If TypeName(ExcelApp)="Application" Then
For Each ExcelBook In ExcelApp.WorkBooks
If ExcelBook.FullName="E:\biao.xls" Then
ExcelApp.ActiveWorkbook.Save
ExcelApp.Workbooks.Close
ExcelApp.Quit
Set ExcelApp=Nothing
Exit For
End If
Next
End If
Set objExcelApp=CreateObject("Excel.Application")
open file
objExcelApp.Visible=True
objExcelApp.Workbooks.Open"E:\biao.xls"
objExcelApp.Worksheets(sheetname).Activate
With objExcelApp.Worksheets(sheetname)
For i=5 To 25
For j=1 To 8
.cells(i,j)=Null
Next
Next
For i=26 To 26
For j=1 To 7
.cells(i,j)=Null
Next
Next
End With
tagshijian=Now
objExcelApp.Worksheets(sheetname).cells(2,2).value=tagshijian
For i=5 To 25
with objExcelApp.Worksheets(sheetname)
.cell(i,1).value=tagshijian
tagyali1.Read
.cell(i,2).value=tagyali1.value
tagyali2.Read
.cell(i,3).value=tagyali2.value
tagyali3.Read
.cell(i,4).value=tagyali3.value
tagyali4.Read
.cell(i,5).value=tagyali4.value
tagliuliang1.Read
.cell(i,6).value=tagliuliang1.value
tagliuliang2.Read
.cell(i,7).value=tagliuliang2.value
tago2.Read
.cell(i,8).value=tago2.value
End With
Next
MsgBox msg
Dim patch,filename
filename=CStr(Month(Now))&CStr(Day(Now))+CStr(Hour(Now))&CStr(Minute(Now))
patch="E:\"&filename&".xls"
objExcelApp.ActiveWorkbook.SaveAs patch
objExcelApp.Workbooks.Close
objExcelApp.Quit
Set objExcelApp=Nothing