资源描述:
《用VBS实现WINCC的用户归档输出到EXCEL表格的方法和例.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、用VBS实现WINCC的用户归档输出到EXCEL表格的方法和例(2009-12-3016:47:45)用VBS实现WINCC的用户归档输出到EXCEL表格的方法和例子程序求用VBS实现WINCC的用户归档输出到固定格式的EXCEL表格的方法和例子程序!我主要问题在SQL数据库的查询语句不会。看见论坛里有关用VBS实现EXCEL的数据查询和导出,我现在想要完成如下功能:每分钟将数据归档,用户可以输入任意的时刻时间查询从任意时刻开始的之后每隔1小时的数据(有点像日报里的24个小时)。我现在对于VBS查询数据库的语
2、句不懂,望大大赐教!谢谢 ''SQL查询语句 Dim strc as string strc = "provider=WinCCOLEDBProvider.1;catalog=CC_RebdI_09_06_22_10_38_35R;data source=ComputerNameWinCC" ''这个连接字符串可以在SQl2000中看到 Dim cc1 Set cc1=CreateObject("adodb.connection") cc1.ConnectionString=strc
3、 cc1.CursorLocation=3 cc1.open Dim rst As Object Set rst = CreateObject("adodb.recordset") dim ssql as string ssql = "Tag:R,'Archive_3DB1DBD0','2009-7-29 00:00:00.0000','2009-7-29 23:59:59.999','timestep=3600,258'" ''Archive_3I_DB
4、1DBD0归档和变量 ''2009-7-29 00:00:00.0000,2009-7-29 23:59:59.999时间段 ''timestep=3600,258每阁多少秒拿一个数据(3600=1小时),258表示每个时间段取最后一个数据 rst.Open ssql, cc1 ''这样查出来的数据就是一天的每小时的数据 ''对rst记录集处理就可以得到你要的数据==========================Function actionDim objEx
5、celAppDim i,TimeM,TimeNow,TimeSSet TimeM=HMIRuntime.Tags("TimeM")i=1+TimeM.ReadTimeNow=CStr(Year(Now))&"年"&CStr(Month(Now))&"月"&CStr(Day(Now))&"日"&CStr(Hour(Now))&"-"&CStr(Minute(Now))&":"&CStr(Second(Now))TimeS=Second(Now)Set objExcelApp = CreateObject("Ex
6、cel.Application")objExcelApp.Visible = FalseobjExcelApp.Workbooks.Open"E:ExcelTest.xls"objExcelApp.Cells(i, 2).Value =123.47objExcelApp.Cells(i, 1).Value = TimeNowobjExcelApp.DisplayAlerts = FalseobjExcelApp.ActiveWorkbook.SaveobjExcelApp.Workbooks.Closeob
7、jExcelApp.quitSet objExcelApp =NothingEnd Function以上代码用于往指定的Excel表格中写数据。该动作每分钟触发一次,依次往表格中写入60个数据,当进入下一个小时后,大概是因为表格中已存在数据所以在写入前会弹出对话框提醒是否覆盖还是另存,加入objExcelApp.DisplayAlerts = False语句后就不存在这个问题了,对此要谢谢谢谢版主:城外之人。WINCC与EXCEL数据交换hjyhjy,2010-11-0916:55:28WINCC与EXCEL
8、数据交换代码SubX6309X94AE13X0000X0000_OnLButtonDown(ByValItem,ByValFlags,ByValx,ByValy) DimobjExcelAppSetobjExcelApp=createobject("excel.applcation") objExcelApp.Visible=True objExcelApp.Workbooks.Open"E: