报表程序的问题

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

相关推荐

  • wincc按钮实现画面切换

    我在wincc里组态了一个按钮,鼠标按一下,弹出两个这样的按钮←、→,其中←这个按钮是隐的,当按下→这个按钮是弹出一个画面,同时可以看到←这个按钮,这个动作的c脚本怎么写,说的月具…

    SIMATIC WinCC 2019年6月11日
  • CP5611卡通讯问题

    各位前辈您好,我想问一下,我公司一台工控机在用CP5611卡与S7300CPU通讯时突然出现,WINCC界面时暗时明(暗的时候不能进行操作),拆除一台电脑的5611通讯电缆后,恢复…

    SIMATIC WinCC 2019年6月11日
  • WIN cc v7.0 能把地图软件放入画面吗

    就是说我想在图形编辑器中建立一个类似百度地图这样的软件,然后需要在地图上面显示几个点,BOOL变量。为“1”时红色,为“0”时绿色。求老师指点。 问题补充:但是截图不支持缩放啊,要…

    SIMATIC WinCC 2017年11月26日
  • wincc 能否安装在windows 8.1

    请问wincc能否安装在win8.1系统中 最佳答案 能否正常使用所有功能,你最好查下兼容性列表。 提问者对于答案的评价:ok 专家置评 已阅,最佳答案正确。

    SIMATIC WinCC 2017年11月1日
  • 请教c脚本WINCC和EXCEL结合实现报表

    请教      在网上看到的资料大多都是基于VB实现Wincc与Execel结合实现报表,没查到利用C脚本实现报表的资料…

    SIMATIC WinCC 2019年6月11日
  • wincc V6.2 怎样加小数点

    在wincc V6.2的IO域读上来的是整数.如VW100读上来的是12345,怎样能VW100的数变成12.345呢?请帮帮忙. 问题补充:你们的方法我都试过了,得出来…

    SIMATIC WinCC 2019年6月11日
  • audit和logon的资料

    请教关于AUDIT和LOGON相关的资料,不甚感激 最佳答案 http://jsmww.blog.51cto.com/739067/155929数据库用户避开了LOGON_AUDI…

    SIMATIC WinCC 2019年6月11日
  • WINCC画面无法限出

    我厂的动力中心采用PCS7过程控制系统,配置有冗余服务器\13台client和3台单站,除一台单站外,其它站用管理员密码登录后,按WINCC系统退出键均可取消激活WINCC,但一台…

    SIMATIC WinCC 2019年6月11日
  • wincc中的客户机和服务器的概念

    各位师傅你们好,wincc中客户机和服务器是什么概念啊,是不是服务器直接与plc连接,客户机是收到数据做监控的啊,它们之间是怎么关系啊,还有工程师站是什么概念啊,希望各位师傅讲的通…

    SIMATIC WinCC 2019年6月11日
  • WINCC和ABPLC模拟器链接

    我现在没有实际的ABPLC我想通过AB的仿真器(RSLogix Emulate500)来实现链接可以让我测试PLC程序和WINCC程序  我需要做些什…

    2021年7月5日