技成培训网 技成学习APP 技成工具箱 技成企业服务

欢迎回到技成培训网

技成培训网

电工题库宝典

技成电工课堂

PLC练习题

技成PLC课堂

变频器故障查询

技成PLC学吧

伺服驱动故障查询

技成PLC网校

当前位置:技成首页 > 文章中心 > 技成百科 > 报表程序的问题

报表程序的问题

刘玉蓉 发布于2014-08-25 17:45 22 0 标签:

现在制作报表,遇到个问题,请讲解一下,程序如下:
Dim objExcelAPP
Set objExcelAPP = CreateObject("Excel.Application") ...(这该用GETOBJECT,还是用CREATEOBJECE函数呢)
objExcelAPP.Visible = 1
If TypeName(objExcelAPP)="Application" Then
For Each xlbook In objExcelAPP.Workbooks
If xlbook.FullName=xlsname Then
isOpen=True
Exit For
End If
Next
Else
End If

If isOpen=True Then
objExcelAPP.Cells(13,4).Value = HMIRuntime.Tags("NewTag").read
Dim NewTag_1
Set NewTag_1 = HMIRuntime.Tags("NewTag_1")
NewTag_1.value= Time
NewTag_1.Write
objExcelAPP.Cells(13,5).Value =HMIRuntime.Tags("NewTag_1").read
Else
End If
为什么在全局报表中不能传输数据呢,问题处在哪,请讲解一下,程序就是想获得现在运行的EXCEL报表进程,然后将数据写入,如果不这样,能直接写入吗?

问题补充:
为什么下面程序就行呢
Dim objExcelAPP
Set objExcelAPP = CreateObject("Excel.Application") ""??è?μ±?°??DDμ?Exceló|ó?3ìDò???ó
objExcelAPP.Visible = 1
objExcelApp.Workbooks.Open  "D:shengchanjilu/R2012/R2012-baobiao.xls"
If 1>0 Then
objExcelAPP.Cells(13,4).Value = HMIRuntime.Tags("NewTag").read
Dim NewTag_1
Set NewTag_1 = HMIRuntime.Tags("NewTag_1")
NewTag_1.value= Time
NewTag_1.Write

objExcelAPP.Cells(13,5).Value =HMIRuntime.Tags("NewTag_1").read
Else
End If
希望能讲解一下

佳答案

上面的代码不知道是不是完整的,文档名都没指定,在你的代码基础上修改了下,参考一下
On Error Resume Next ""此句必须有,防止无EXCEL进程时GetObject出错退出
Dim objExcelAPP,xlbook,xlsname,isOpen
xlsname = "D:shengchanjilu/R2012/R2012-baobiao.xls"     ""Excel文档路径
Set objExcelAPP = GetObject(,"Excel.Application") ""获取当前运行的Excel应用程序对象
objExcelAPP.Visible = 1                           ""Excel应用程序显示属性
If TypeName(objExcelAPP) = "Application" Then   ""Excel已打开,遍历工作薄查找对应文档是否已打开
   For Each xlbook In objExcelAPP.Workbooks
       If xlbook.FullName = xlsname Then
          isOpen = True
          Exit For
       End If
   Next
Else  ""当前没有打开Excel程序则创建Excel应用程序并打开对应的文档
   Set objExcelAPP = CreateObject("Excel.Application")
End If
If Not isOpen Then   ""如果对应文档没打开则打开
      Set xlbook = xlapp.Workbooks.Open(xlsname)
End if 
objExcelAPP.Cells(13,4).Value = HMIRuntime.Tags("NewTag").read
Dim NewTag_1
Set NewTag_1 = HMIRuntime.Tags("NewTag_1")
NewTag_1.value = Time
NewTag_1.Write
objExcelAPP.Cells(13,5).Value = HMIRuntime.Tags("NewTag_1").read

若有收获,就点个赞吧!

文章来源于网络及文献如有侵权请联系站长
分享到:

微信扫一扫分享

阅读与本文标签相同的文章

相关推荐

最新文章 热门文章
最新课程 免费课程
PLC资料下载 电工电气资料下载
应用新秀
变频器故障代码查询APP
伺服故障代码查询APP
技成
手机APP
热门标签