回复:怎么才能把Excel里面的数据导入WINCC中

youhm

  • 帖子

    4924
  • 精华

    81
  • 被关注

    51

论坛等级:至圣

注册时间:2008-06-28

普通 普通 如何晋级?

发布于 2011-07-05 15:34:17

15楼

我用VBS做的,表和楼上一样,第二行开始,写在修改按钮的VBS事件里

On Error Resume Next '此句必须有,防止无EXCEL进程时GetObject出错退出
Dim xlsname,xlapp,xlbook,xlsheet,isOpen,i,TagName,TagValue
xlsname="F:\123.xls" 'Excel文档路径
Set xlapp=GetObject(,"Excel.Application") '获取当前运行的Excel应用程序对象
If Typename(xlapp)="Application" Then 'Excel已打开,遍历工作薄查找对应文

档是否已打开
For Each xlbook In xlapp.Workbooks
If xlbook.FullName=xlsname Then
isOpen=True
Exit for
End if
Next
If Not isOpen Then '如果对应文档没打开则打开
Set xlbook=xlapp.Workbooks.Open(xlsname)
End if
Else '当前没有打开Excel程序则创建Excel应用程序并打开对应的文档
Set xlapp=CreateObject("Excel.Application")
Set xlbook=xlapp.Workbooks.Open(xlsname)
End if
Set xlsheet=xlbook.WorkSheets("Sheet1") '数据存放与表Sheet1,第一列为变量名,

第二列为变量值
For i = 2 To xlsheet.Range("A65536").End(3).Row '从第二行一直循环到最后一行
TagName=xlsheet.Cells(i,1).Value
TagValue=xlsheet.Cells(i,2).Value
' Msgbox TagName & vbcrlf & TagValue '测试显示第一列、第二列数据
HMIRuntime.Tags(TagName).Write TagValue '写入WinCC变量
Next
xlbook.Close 0 '关闭不保存文档
xlapp.Quit '退出Excel应用程序
Set xlsheet=Nothing
Set xlbook=Nothing
Set xlapp=Nothing
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC WinCC / Panel

共有32951条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。