报表程序的问题

现在制作报表,遇到个问题,请高手们讲解一下,程序如下:
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

提问者对于答案的评价:
呵呵,谢谢,明白了

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc263619.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2019年6月11日 上午2:23
下一篇 2019年6月11日 上午2:24

相关推荐

  • VBS如何实现一个圆每秒移动1点水平距离

    我想在WINCC画面上画一个圆,然后我想叫这个圆每秒水平移动1点距离,这个VBS程序怎么编啊??我主要是不会弄那个时间。 最佳答案 在全局脚本编辑器中建立动作,触发器设成定时器中的…

    SIMATIC WinCC 2019年6月11日
  • 深入浅出wincc第二版238页的这些是什么意思

    以下是查询用户归档的,用在自定义sql2005数据库可以吗?读值select*form ua#<archivename>[where<condition…

    SIMATIC WinCC 2019年6月11日
  • WINCC弹出窗口的制作

    想做这样一个画面:主画面上有一些按钮,每按一个按钮就可以弹出它的一个画面,关闭这个按钮回到这个主画面。前提是,弹出的这个画面就在这个按钮所在的位置,不能覆盖主画面其他信息。之前我已…

    SIMATIC WinCC 2019年6月11日
  • 趋势/数据归档/记录实例?”

    各位坛友,请问谁关于趋势/数据归档/记录等方面的实例,并能帮我解释一下它们的妙用吗?谢谢 最佳答案 SQL工具查寻WINCC归档数据:http://www.gongkong.com…

    SIMATIC WinCC 2019年6月11日
  • 按钮恢复?

    想做一个消音按钮,在点按钮时常闭点断开,之后自己闭合。我是选择按左键C动作.SETTagBIT置1,但是按完后不恢复闭合。 问题补充:那里有详细有关按钮里面设置项的资料,先谢谢大家…

    SIMATIC WinCC 2019年6月11日
  • wincc7.5曲线问题

    打开曲线画面,曲线画面下边还有一个框,如图,但是这个框太小,每次打开都需要手动去拖拽大,怎么设置它打开的大小。 图片说明:       钻石…

    2021年7月5日
  • horn报警声音问题

    想用 horn做报警声音   但添加hmrt. exe添加不了   请问怎样添加 &nbs…

    SIMATIC WinCC 2019年6月11日
  • TP177B打印

    TP177B如何连接打印机,怎样打印报表? 最佳答案 可以连接鼠标,打印机,与PC通讯.PC可以备份TP177B的数据,注意下载的电缆必须是主对主的USB,所支持的打印机西门子有个…

    SIMATIC WinCC 2018年1月1日
  • WINCC通讯总是中断

    我厂的上位机最近总是通讯中断,我通过WINCC诊断工具查到错误代码为4116和4023.但是不知道代码的具体含义,请教大家错误代码的含义从那里查找。 最佳答案 1、WINCC诊的·…

    SIMATIC WinCC 2018年12月14日
  • wincc中服务器数据没有创建选项

    wincc软件是V7.0SP3 AISA.自动化系统结构式一个工程师站做服务器,两个操作站做客户机。我已经安装sever授权,但是工程师站中的wincc多用户项目中“服务…

    SIMATIC WinCC 2021年7月5日