回复:Wincc与Excel的问题

华夏儿郎

  • 帖子

    50
  • 精华

    0
  • 被关注

    0

论坛等级:游民

注册时间:2006-10-26

普通 普通 如何晋级?

发布于 2006-11-01 16:05:45

0楼

现在关于历史数据的导出我已经有点眉目了,我作了个很简单的例子,就是新建一个无符号16位的变量,把这个变量归档组态好,然后在画面组态里就新加一个按钮,按钮里的VB代码如下:
Sub OnLButtonDown(ByVal Item, ByVal Flags, ByVal x, ByVal y)
Dim sPro
Dim sDsn
Dim sSer
Dim sCon
Dim sSql
Dim oRs
Dim conn
Dim oCom
Dim oItem
Dim m, n, s,i
Dim hourdate
Dim secdate
Dim k
Dim oList
Dim objExcelApp
Dim oItem2


sPro = "Provider=WinCCOLEDBProvider.1;"
sDsn = "Catalog=CC_wincc-ex_06_11_01_10_18_04R;"
sSer = "Data Source=.\WinCC"
sCon = sPro + sDsn + sSer

sSql = "TAG:R,'ProcessValueArchive\Tag1','0000-00-00 00:00:00.000','0000-00-01 00:00:00.000'"

MsgBox "Open with:" & vbCr & sCon & vbCr & sSql & vbCr



Set conn = CreateObject("ADODB.Connection")
conn.ConnectionString = sCon
conn.CursorLocation = 3
conn.Open
Set oRs = CreateObject("ADODB.Recordset")
Set oCom = CreateObject("ADODB.Command")
oCom.CommandType = 1
Set oCom.ActiveConnection = conn
oCom.CommandText = sSql
Set oRs = oCom.Execute
oRs.MoveFirst

Set objexcelApp=CreateObject("excel.application")
objexcelApp.visible=True
objexcelapp.workbooks.open"d:\1.xls"

For i=1 To 50
objExcelApp.Sheets(1).Range("A"&Trim(i)) = FormatNumber(oRs.Fields(2).value, 1)
objExcelApp.Sheets(1).Range("B"&Trim(i)) = FormatNumber(oRs.Fields(3).value, 1)

oRs.MoveNext
Next
oRs.Close



objexcelapp.activeworkbooks.save
objexcelapp.workbooks.close
objexcelapp.quit
Set objexcelapp=nothing


Set oRs = Nothing
conn.Close
Set conn = Nothing

End Sub
运行起来,可以把数据导出到Excel里了,不过我还是有几个问题,这个程序里我是用记录集oRs传递数据给Excel的,我前面也贴了个程序,那里面传递数据的是MSFG1,格式好像跟我这个记录集不一样,请问那个是什么?如何使用,是不是使用那个方式比较好(那程序是某公司编的)?再一个问题是查询数据的时候,如何把SQL语言嵌进来?
我愿重回汉唐 再奏角徵宫商 着我汉家衣裳 兴我礼仪之邦 我愿重回汉唐 再谱盛世华章 何惧道阻且长 看我华夏儿郎
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC WinCC / Panel

共有32576条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。