关于用VBS和EXCEL做实时报表数据问题,当程序运行到打开设置好的Excel表格后,就自动停止

Option Explicit
Function action
''定义变量             
Dim objExcelApp, objExcelbook,conn
Dim tag1,wendu''这个在内部变量里建立,是行数变量,初始值设定为4
Set tag1=HMIRuntime.Tags("tag1")
tag1.Read


''创建对象
 Set objExcelApp=CreateObject("Excel.Application") 
 objExcelApp.visible=True
 objExcelApp.workbooks.open"D:\1.xls"   ''这个路径里的文件名字用英文的,不要用中文的


''连接数据库
Set conn = CreateObject("ADODB.Connection")
    conn.ConnectionString = "Provider=WinCCOLEDBProvider.1;Catalog=CC_ww_12_06_11_10_48_01R;Data Source=KX\WinCC"
    conn.CursorLocation = 3
    conn.Open

''实时数据写入
 
objExcelApp.Worksheets.cells(1,9).value=Day(Now)
wendu.read
objExcelApp.cells(tag1,1).value=HMIRuntime.Tags("wendu").Read
tag1.Value=tag1.Read+1

If tag1.Value>27 Then
tag1.Write4

''另存为
objExcelApp.activeworkbook.saveAs "D :/CStr(Year(Now))&CStr(Month(Now))&CStr(Day(Now))"
objExcelApp.Quit
Set objExcelApp=Nothing

Else
''直接保存
objExcelApp.ActiveWorkbook.Save
objExcelApp.Quit
Set objExcelApp=Nothing
End If
End Function
Excel表格里一点反应都没有,希望大师帮我看看问题出现在哪里。还有连接的是内部变量,在线表格控件里实时数据显示是0 u,这0  u 是什么意思。

最佳答案

1、你的内部变量和外部变量名字一样都是tag1,
2、没有读取的变量的起始和结束时间。

Dim fso,myfile
Set fso=CreateObject("scripting.filesystemobject")
Set myfile=fso.GetFile("d:\\data_compare.xlsx")
Dim objexcelapp
Set objexcelapp=CreateObject("excel.application")
''objexcelapp.visible=true
objexcelapp.workbooks.open myfile
''以上是为了打开D盘excel文件 
''创建到数据库的链接
    spro = "Provider=WinCCOLEDBProvider.1;"
 sdsn = "Catalog=CC_upzjg_11_12_15_14_45_14R;"
 sser = "Data Source=.\WinCC"
 scon = spro + sdsn + sser
 ssql = "Tag:R,(''test\testdata''),''2011-12-15 7:27:00'',''2011-12-15 8:27:00''"
   MsgBox "open with:" &vbCr & scon &vbCr &ssql &vbCr
  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 = ssql        
        Set ors=ocm.Execute 
''下面读写数据

提问者对于答案的评价:
按照您给的参考,我重新把脚本整理了一遍,可是数据还是没有写入到Excel表格中,对于变量归档的数据存储在哪个数据库里。麻烦大侠指点下

最佳答案作者回复:
你看看你的变量记录的组态,ssql = "Tag:R,(''''test\testdata''''),''''2011-12-15 7:27:00'''',''''2011-12-15 8:27:00''''",这个表示的是组态中的test组下的testdata变量。

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2019年6月10日 下午8:48
下一篇 2019年6月10日 下午8:48

相关推荐

  • wincc 可以监控霍尼韦尔的HC900吗

    想用wincc同时监控S7-400和霍尼韦尔HC900,可以吗? 问题补充:霍尼韦尔的HC900是DCS,用WINCC监控DCS可以吗? 最佳答案 可以 不是西门子控制器…

    SIMATIC WinCC 2018年12月9日
  • Wincc Server与Wincc OPC

    Wincc Server 是说跟WinccRT的关系么?那么WinccOPC应该是什么? 问题补充:系统PLC用的是CPU315-2DP,上位用的是Wincc,…

    SIMATIC WinCC 2019年6月11日
  • 关于移动式面板接线盒升级替换的问题,6AV6671-5AE11-0AX0

    原型号6AV6671-5AE10-0AX0改用6AV6671-5AE11-0AX0 后,外观略有差异,接线后 信号连不上,旋转按钮已经对应,但是这个对比老款没有…

    2021年7月5日
  • 查询ACESS数据

    通过那种方式可以对本地的ACESS数据进行查询,使用哪种控件?listview?mshflexgrid?  能否给出相关详细程序说明或者例子 &nbs…

    SIMATIC WinCC 2019年6月11日
  • 怎么还原WINDOWS XP3 的欢迎界面

    今天装了WINCC6.0  从新启动系统后,windows xp3 的欢迎界面变成和win2000系统一样。在用户帐号里更改登陆和注销界面,…

    SIMATIC WinCC 2019年6月11日
  • wincc启动画面

    wincc画面到变量运行和报警运行时无法激活,在启动设置那里把这两个划掉后画面才可以运行,请问各位高手这是怎么回事?(别的项目的画面都可以运行,只有这个项目的不能运行。) 最佳答案…

    SIMATIC WinCC 2019年6月11日
  • c脚本修改画面窗口的变量前缀

    现场有六台带变频器的水泵,我想用一个画面通过按钮切换来显示不同变频器的参数,我画面上添加一个画面窗口a,画面窗口连接上一个公用画面,再在画面窗口旁边添加六个按钮,分别为变频器1到6…

    SIMATIC WinCC 2018年12月2日
  • WinCC中计算机属性为什么不能修改?

    WindowsXP SP3 WinCC V6.0环境下,在WinCC中新建一个单用户项目后,打开“计算机属性”对话框,单击“启动”、“参数”等选项卡,…

    SIMATIC WinCC 2019年6月11日
  • wincc与研华工控机的OPC通信

    本人新购研华IPC-610以及数据采集卡,打算与上位机进行数据通信,上位机使用wincc组态软件实现现场设备的数字化显示。目前的想法是通过OPC服务器接收采集卡采集的现场数据,然后…

    SIMATIC WinCC 2021年7月5日
  • WINCC7.0画面激活

    WINCC7.0画面组态完毕后  激活时出现空白页面怎么回事  ?计算机属性里面该设置的都设置过了  不知道哪里的问题&…

    SIMATIC WinCC 2021年7月5日