您好,欢迎来到华佗小知识。
搜索
您的当前位置:首页WinccV7.3vbs读取多个变量归档数据到excel

WinccV7.3vbs读取多个变量归档数据到excel

来源:华佗小知识
WinccV7.3vbs读取多个变量归档数据到excel

Wincc V7.3 vbs 读取多个变量归档数据到excel

前面的一篇博客记录了如何读取多个变量归档数据到mshgrid控件,根据的是西门子官网的教学。有网友询问为什么他照着官网方法就是无法导出到excel。我自己也做了一遍,没有问题。本篇主要记录导出按钮的脚本。

前面的准备工作与上一篇一致,导出按钮的vbs脚本如下: Sub OnClick(ByVal Item)

Dim myCatalog,myDS,PCName,cnstr,sqlstr1,sqlstr2 Dim xlapp,BTime,ETime,utcbtime,utcetime,utcbtstr,utcetstr Dim conobj,rsobj1,comobj1 Dim rsobj2,comobj2 Dim rscount,i,curRow Dim filename

myCatalog=HMIRuntime.Tags(\"@DatasourceNameRT\").Read

PCName=HMIRuntime.Tags(\"@LocalMachineName\").Read myDS=PCName& \"\\Wincc\"

Set BTime=HMIRuntime.Tags(\"btime\") Set ETime=HMIRuntime.Tags(\"etime\") '北京时间时区修正

utcbtime=Dateadd(\"h\起始时间 utcetime=Dateadd(\"h\结束时间 '日期时间格式修正

utcbtstr = Year(utcbtime) & \"-\" & Month(utcbtime) & \"-\" & Day(utcbtime) & \" \" & Hour(utcbtime) & \":\" & Minute(utcbtime) & \":\" & Second(utcbtime)

utcetstr = Year(utcetime) & \"-\" & Month(utcetime) & \"-\" & Day(utcetime) & \" \" & Hour(utcetime) & \":\" & Minute(utcetime)

& \":\" & Second(utcetime)

'连接字符串

cnstr=\"Provider=WinCCOLEDBProvider.1; &myCatalog& \"; Data Source=\" & myDS

'创建连接对象

Set conobj=CreateObject(\"ADODB.Connection\") conobj.connectionstring=cnstr conobj.CursorLocation = 3 conobj.Open '查询字符串

'sqlstr = \"Tag:R,('VA\\flow1';'VA\\flow2'),'\" &utcbtstr& \"','\" &utcetstr& \"',\" & \"'order by Timestamp ASC','TimeStep=1,1'\" sqlstr1 = \"Tag:R,('VA\\flow1'),'\" &utcbtstr& \"','\" &utcetstr& \"',\" & \"'order by Timestamp ASC','TimeStep=1,1'\"

sqlstr2 = \"Tag:R,('VA\\flow2'),'\" &utcbtstr& \"','\" &utcetstr& \"',\" & \"'order by Timestamp ASC','TimeStep=1,1'\"

'进行查询

Set rsobj1 = CreateObject(\"ADODB.Recordset\") Set

comobj1

=

CreateObject(\"http://www..com/doc/c917254907.html,mand\")

http://www..com/doc/c917254907.html,mandType = 1 Set comobj1.ActiveConnection = conobj

http://www..com/doc/c917254907.html,mandText = sqlstr1 Set rsobj1 = comobj1.Execute

Set rsobj2 = CreateObject(\"ADODB.Recordset\") Set

comobj2

=

CreateObject(\"http://www..com/doc/c917254907.html,mand\")

http://www..com/doc/c917254907.html,mandType = 1 Set comobj2.ActiveConnection = conobj

http://www..com/doc/c917254907.html,mandText = sqlstr2

Catalog=\"

Set rsobj2 = comobj2.Execute rscount=rsobj1.recordcount rsobj1.movefirst rsobj2.movefirst ifrscount=0 then msgbox \"没有记录\" exit sub end if

Set xlapp=CreateObject(\"Excel.Application\") xlapp.visible=False xlapp.workbooks.add '初始化excel

xlapp.worksheets(1).cells(1,1)=\"编号:\" xlapp.worksheets(1).cells(1,2)=\"QB-2017.001\"

xlapp.worksheets(1).range(\"a2:c2\").mergecells=True '合并单元格

xlapp.worksheets(1).cells(2,1)=\"这是一个测试\"

xlapp.worksheets(1).cells(2,1).HorizontalAlignment = 3 '文字居中

xlapp.worksheets(1).cells(3,1)=\"日期时间\" xlapp.worksheets(1).cells(3,2)=\"flow1\" xlapp.worksheets(1).cells(3,3)=\"flow2\" '导出到excel For i=1 To rscount

xlapp.worksheets(1).cells(3+i,1)=Dateadd(\"h\s(1).value)

xlapp.worksheets(1).cells(3+i,2)=rsobj1.fields(2).value xlapp.worksheets(1).cells(3+i,3)=rsobj2.fields(2).value rsobj1.movenext rsobj2.movenext

Next '释放资源

Set rsobj1 = Nothing Set rsobj2 = Nothing conobj.Close

Set conobj = Nothing '画边框

xlapp.worksheets(1).range(\"a3:c\" &CStr(3+rscount)).borders(1).linestyle=9

xlapp.worksheets(1).range(\"a3:c\" &CStr(2+rscount)).borders(1).weight=2

xlapp.worksheets(1).range(\"a3:c\" &CStr(2+rscount)).borders(2).linestyle=9

xlapp.worksheets(1).range(\"a3:c\" &CStr(2+rscount)).borders(2).weight=2

xlapp.worksheets(1).range(\"a3:c\" &CStr(2+rscount)).borders(3).linestyle=9

xlapp.worksheets(1).range(\"a3:c\" &CStr(2+rscount)).borders(3).weight=2

xlapp.worksheets(1).range(\"a3:c\" &CStr(2+rscount)).borders(4).linestyle=9

xlapp.worksheets(1).range(\"a3:c\" &CStr(2+rscount)).borders(4).weight=2

'保存文件

filename= \"c:\\\" & Year(Now) & \"年\" & Month(Now) & \"月\" & Day(Now) & \"日-\" & Hour(Now) & \"点\" & Minute(Now) & \"分\" & Second(Now) & \"秒生成生产报表.xlsx\"

xlapp.Activeworkbook.saveas (filename) xlapp.workbooks.close xlapp.quit

Msgbox \"成功导出到C:\\\" End Sub

无法导出数据的朋友,检查一下官网提示的那个连接包是否安装了。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo0.cn 版权所有 湘ICP备2023017654号-2

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务