关于用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日
下一篇 2019年6月10日

相关推荐

  • 如何用脚本设置曲线显示时间段

    如何在Wincc中用脚本设置曲线的起始时间? 问题补充:请问dcount107 c脚本中的时间字符串可以用变量替换吗? 我想得到系统时间,然后再把时间修改一下,…

    SIMATIC WinCC 2019年6月11日
  • wincc与s7300通讯中断恢复后所有变量显示为零

    wincc与s7300通讯中断恢复后所有变量显示为零 问题补充:wincc与s7300通讯中断恢复后所有变量显示为零?为什么?恢复后通讯正常,能ping通 最佳答案 首先要知道是什…

    SIMATIC WinCC 2017年12月1日
  • Wincc licence service频繁退出

    Win7,TIA Portal v13,监控运行后,总是提示Wincc licence service没有启动。在服务里查看,没有启动。设置…

    SIMATIC WinCC 2021年7月5日
  • wincc 7.4 监视器键盘 如何关闭左下角系统按钮 如图所示

    wincc 7.4 监视器键盘 如何关闭左下角系统按钮  如图所示客户提出不能进入后台 需要屏蔽此按钮功能 图片说明: …

    2020年11月1日
  • wincc6.0通讯

    wincc6.0通讯方式由TCP/IP方式改为工业以太网该如何设置? 最佳答案 详见《WINCC连接Siemens PLC的常用方式》中的三.WINCC使用普通网卡通过T…

    SIMATIC WinCC 2017年11月29日
  • K-TP178触摸屏编程电缆

    我有一根S7200使的6ES7901-3DB30-OXAO能下载K-TP178触摸屏吗 最佳答案 USB接口的PC/PPI电缆可以用于K-TP178的下载,但要E-Stand05及…

    SIMATIC WinCC 2019年6月11日
  • 打不开WINCC项目

    在刚安装的WINCC上新建立了一个项目,取名sjz,放在D盘上。如果在退出的时候选择“退出WINCC管理器”,就可以多次进入再退出。如果选择“关闭项目并退出WINCC管理器”,再打…

    SIMATIC WinCC 2019年6月11日
  • WINCC与SLC500的通讯

    想通过WINCC来实现对SLC500的上位组态 不知能否实现,应该怎么做?谢谢 最佳答案 首先要确定slc500的cpu型号,好像只有SLC5/05才有以太网接口,其它型…

    SIMATIC WinCC 2021年7月5日
  • wincc不能激活怎么办

    我的wincc项目不能激活是怎么回事,让检查wincc中心设置 最佳答案 你的WINCC版本是多少?7.0以下的:请检查你的项目名称与计算机名是否一致;你的项目是否放在中文名称的文…

    SIMATIC WinCC 2019年6月11日
  • WINCC数据写不进ACCESS

    朋友咨询这个问题WINCC版本是7.3,装在虚拟机里面。想通过ODBC往ACCESS写数据。但写不进去。我自己电脑上都可以写。我WINCC7.0,不是虚拟机。各种方法都试了,不知道…

    SIMATIC WinCC 2021年7月5日