xtdwssy

已锁定

林冲

  • 帖子

    1160
  • 精华

    1
  • 被关注

    28

论坛等级:侠圣

注册时间:2008-11-28

普通 普通 如何晋级?

xtdwssy

136

1

2021-08-20 21:47:04

求肋:

Dim conn                     '定义类对象

Dim SCon                     '定义数据库连接字符串

Dim oRs                     '定义获取到的数据集

Dim oCom

Dim m,i,j

Dim strSQL,whe


Dim My_Month,My_Year,My_Day

My_Year =HMIRuntime.Tags("My_Year").Read

My_Month=HMIRuntime.Tags("My_Month").Read

My_Day=HMIRuntime.Tags("My_Day").Read


sCon= "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=FLOW;Data Source=.\WINCC"

whe=" where year(MyTime)='"&My_Year&"' and month(MyTime)='"&My_Month&"' and day(MyTime)='"&My_Day&"' "

strSQL= "SELECT convert(char(13),MyTime,21),FT201,FT502,FT503,FT001,FT002,FT003  FROM  ReportDay " & whe


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 = strSQL


Set oRs = oCom.Execute            ????执行到此就不执行了,

    m = oRs.RecordCount  



Dim objExcelApp,objExcelBook,objExcelSheet,Excel

Set objExcelApp =CreateObject("Excel.Application") 

    objExcelApp.Visible=True 

    objExcelApp.Workbooks.Open"E:\WINCC_ReportV1.2\ExcelReport\WinccExcel_Day.xlsx"   

    objExcelApp.Worksheets("报表模板").Activate

Set Excel=objExcelApp.Worksheets("报表模板")   


For i=3 To 26

For j=2 To 11 

Excel.cells(i,j).value=Null 

Next 

Next  


If (oRs.EOF) Then

MsgBox("没有符合条件的记录,示例工程历史数据位2018-08")

Else

    '有数据,循环写入报表模板

    For i = 1 To m

Excel.cells(i+2, 1) = CStr(i)

Excel.cells(i+2, 2) = CStr(oRs.Fields(0).Value)

For j = 1 To 8

Excel.cells(i+2, 2+j) = FormatNumber(oRs.Fields(j).Value,2) '保留两位小数

Next

oRs.MoveNext   '移到下一行

Next

End If


'关闭 另存为 打印等操作

Dim patch,filename 

filename=CStr(Year(Now))&CStr(Month(Now))&CStr(Day(Now))&CStr(Hour(Now))+CStr(Minute(Now))&CStr(Second(Now)) 

patch= "E:\WINCC_ReportV1.2\ExcelReport\Report_Day"&filename&".xlsx" 

objExcelApp.ActiveWorkbook.SaveAs patch

'objExcelApp.ActiveWorkbook.PrintOut       '

'objExcelApp.ActiveWorkbook.PrintPreview   

objExcelApp.Workbooks.Close 

objExcelApp.Quit 

Set objExcelApp= Nothing 


Set oRs = Nothing

Set oCom = Nothing

conn.Close

Set conn = Nothing



求助,报表脚本,执行到红色字体处就不执行了,没法生成EXCLE文件。WIN7 64位上同样的脚本能正确执行,到WIN10就不执行了。

xtdwssy 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC WinCC / Panel

共有31079条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

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