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