导出注释_WinccV7.3Activex控件报表程序中导出到excel文件脚本注释

该脚本详细介绍了如何在WinccV7.3中,通过Activex控件将Hierarchical FlexGrid查询结果导出到Excel文件。首先检查控件是否有数据,然后创建Excel对象并设置格式,接着将数据逐行复制到Excel,更新进度条,并处理日期时间格式。最后,保存文件并关闭工作簿。
摘要由CSDN通过智能技术生成

9cf235b52c3d6dedd184735caf4136c7.gif

Dim i,j,k,m,n,filename

Dim xlapp

Dim HFGrid

Dim ors

'如果Microsoft Hierarchical FlexGrid Control 控件行数大于1,说明查询是有结果的,不是一个空的记录

If ScreenItems("HFGrid").rows>1 Then

   ScreenItems("progress").value =0  '这个是把进度条初始值定义为零

   ScreenItems("progress").visible = True   '这个是把进度条可见

   Set xlapp=CreateObject("Excel.Application")  '定义一个excel文件控件

   xlapp.visible=False    '希望后台完成,所以不可见

   xlapp.workbooks.add   '刚开始这是一个空的excel对象,没有工作簿book,自然也没有数据表sheet

   '把Microsoft Hierarchical FlexGrid Control 控件查询结果的字段标题行填入excel文件,因为excel文件前两行排版需要填写其他信息,因此从第三行开始

   For k=1 To ScreenItems("HFgrid").cols-1    

     xlapp.worksheets(1).cells(3,k)=ScreenItems("HFGrid").TextMatrix(0,k)

   Next

   'excel文件第一行写标题

   xlapp.worksheets(1).cells(1,1)="XX装置生产工艺参数报表"

   '以下把查询结果实际的数值逐行逐列复制到excel文件

   m=ScreenItems("HFGrid").rows

   For i=1 To m-1

       For j= 1 To ScreenItems("HFGrid").cols-1

           xlapp.worksheets(1).cells(i+3,j)=ScreenItems("HFGrid").TextMatrix(i,j)

       Next

       ScreenItems("progress").value =i*100/m   '每复制完一行数据,进度条增加乡音百分比

       'ScreenItems("HFGrid").recordset.movenext

  Next

  '以下代码处理日期时间数据格式以及表格边框线、标题合并单元格等排版

   xlapp.worksheets(1).range("a1:m1").mergecells=True

   xlapp.worksheets(1).range("a4:a" & CStr(2+ScreenItems("HFGrid").rows)).NumberFormat="yyyy/mm/dd hh:mm:ss"

   xlapp.worksheets(1).range("a1").ColumnWidth =20

   xlapp.worksheets(1).cells(2,1)="生成时间:"

   xlapp.worksheets(1).cells(2,2)=Year(Now) & "年" & Month(Now) & "月" & Day(Now) & "日"

   xlapp.worksheets(1).cells(1,1).HorizontalAlignment = 3

   xlapp.worksheets(1).range("a3:m" & CStr(2+ScreenItems("HFGrid").rows)).borders(1).linestyle=9

   xlapp.worksheets(1).range("a3:m" & CStr(2+ScreenItems("HFGrid").rows)).borders(1).weight=2

   xlapp.worksheets(1).range("a3:m" & CStr(2+ScreenItems("HFGrid").rows)).borders(2).linestyle=9

   xlapp.worksheets(1).range("a3:m" & CStr(2+ScreenItems("HFGrid").rows)).borders(2).weight=2

   xlapp.worksheets(1).range("a3:m" & CStr(2+ScreenItems("HFGrid").rows)).borders(3).linestyle=9

   xlapp.worksheets(1).range("a3:m" & CStr(2+ScreenItems("HFGrid").rows)).borders(3).weight=2

   xlapp.worksheets(1).range("a3:m" & CStr(2+ScreenItems("HFGrid").rows)).borders(4).linestyle=9

   xlapp.worksheets(1).range("a3:m" & CStr(2+ScreenItems("HFGrid").rows)).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

   ScreenItems("progress").Visible =False

     Msgbox "成功导出到C:\"

End If

82b813f7597a539145d83b12f97e6223.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值