我在oRs.MoveFirST这句的前后加了:
xlsApp.Cells(10,2).Value=6
MsgBox"Openwith1:"&m
If(m>0)Then
MsgBox"Openwith2:"&m
oRs.MoveFirst
MsgBox"Openwith3:"&m
运行时出了Openwith2:5。但是没出后一个Openwith3:;所以我判断是到oRs.MoveFirst停止运行的。并且xls表上,也只在10B写了个6,其他地方都空着。
下面是源代码:
SubOnClick(ByValItem)
DimxlsApp
DimsDsn
DimsSer
DimsCon
DimsSql
Dimconn
DimoRs
DimoCom
DimsPro
Dimm,n,s
Dima,b,c
sPro="Provider=winccOLEDBProvider.1;"
sDsn="Catalog=CC_ceepc_cs_14_01_15_06_41_10R;"
sSer="DatASource=CEEPC-33\WINCC"
sCon=sPro+sDsn+sSer
sSql="Tag:R,(‘ProcessValueArchive\氨气流量’;’ProcessValueArchive\频率反馈2′),’2014-04-318:24:00.000′,’2014-04-320:28:00.000’"
MsgBox"Openwith:"&vbCr&sCon&vbCr&sSql&vbCr
Setconn=CreateObject("ADODB.Connection")
conn.ConnectionString=sCon
conn.CursorLocation=3
conn.Open
SetoRs=CreateObject("ADODB.Recordset")
SetoCom=CreateObject("ADODB.Command")
oCom.CommandType=1
SetoCom.ActiveConnection=conn
oCom.CommandText=sSql
SetoRs=oCom.Execute
m=oRs.Fields.Count
SetxlsApp=CreateObject("Excel.Application")
xlsApp.Visible=True
xlsApp.Workbooks.Open"C:\Users\Auser\Desktop\ss.xls"
xlsApp.Cells(10,2).Value=6
MsgBox"Openwith1:"&m
If(m>0)Then
MsgBox"Openwith2:"&m
oRs.MoveFirst
MsgBox"Openwith3:"&m
n=1
MsgBox"Openwith4:"&m
xlsApp.Cells(1,1).Value=oRs.Fields(0).Name
xlsApp.Cells(1,2).Value=oRs.Fields(1).Name
xlsApp.Cells(1,3).Value=oRs.Fields(2).Name
xlsApp.Cells(1,4).Value=oRs.Fields(3).Name
xlsApp.Cells(1,5).Value=oRs.Fields(4).Name
DoWhileNotoRs.EOF
n=n+1
xlsApp.Cells(n,1).Value=oRs.Fields(0).Value
xlsApp.Cells(n,2).Value=oRs.Fields(1).Value
xlsApp.Cells(n,3).Value=FormatNumber(oRs.Fields(2).Value,2)
xlsApp.Cells(n,4).Value=Hex(oRs.Fields(3).Value)
xlsApp.Cells(n,5).Value=Hex(oRs.Fields(4).Value)
oRs.MoveNext
Loop
xlsApp.ActiveWorkBook.Save
xlsApp.Workbooks.Close
xlsApp.Quit
SetxlsApp=Nothing
EndIf
oRs.Close
SetoRs=Nothing
conn.Close
Setconn=Nothing
EndSub
我对以上代码还有2个问题,帮忙解答一下:
1、我安装了wincc7.0就可以使用Provider=WinCCOLEDBProvider.1;不需要再安装WinCCOLEDB吧。
2、ProcessValueArchive是我变量记录中的归档名称,用户归档没有加变量。
最佳答案
请参考
htTP://www.ad.siemens.com.cn/download/searchResult.aspx?searchText=A0048
A0048“WinCCV6使用技巧”演示项目及使用说明(2006.08.18)
DemoV6画面PA7_bld04.pdl,PA7_bld05.pdl中vbs访问变量归档的方法
提问者对于答案的评价:
谢谢,后来有数据了。就是只能查看8小时前的