如何通过vbs在wincc的画面中写入excel中r1c1位的字符串

在wincc画面中建立一个i/o域,如何用vbs脚本写入(读出)excel中的数值,只要有一个位置r1c1的数值就可以了。
新手,一点方向都没有
请问:
1、脚本是在全局脚本写还是在对象属性写
2、脚本的基本例子给一个,越详细越好
3、链接的文本看了不少,没有方向

最佳答案

本人做的源代码:
Sub OnClick(ByVal Item)                                     
Dim fso,myfile
Set fso = CreateObject("scripting.FileSystemObject")
Set MyFile = fso.GetFile("d:\\data.xlsx")
Dim ObjExcelApp
Set objExcelApp = CreateObject("Excel.Application")
'objExcelApp.Visible = True
objExcelApp.Workbooks.Open MyFile
'上面的程序段是为了打开d盘excel文件
Dim aa_data
objExcelApp.worksheets ("sheet1").Cells(2, 9).VAlue = HMIRuntime.Tags("aa").read
Dim i,j
If objExcelApp.worksheets ("sheet1").Cells(2, 9).VAlue>1.0 Then
i=2
j=6
End If
If objExcelApp.worksheets ("sheet1").Cells(2, 9).VAlue>0.8 And  objExcelApp.worksheets ("sheet1").Cells(2, 9).VAlue<1.0 Then
i=7
j=11
End If
If objExcelApp.worksheets ("sheet1").Cells(2, 9).VAlue>0.6 And  objExcelApp.worksheets ("sheet1").Cells(2, 9).VAlue<0.8 Then
i=12
j=16
End If
If objExcelApp.worksheets ("sheet1").Cells(2, 9).VAlue<0.6Then
i=17
j=21
End If
'判断数据保存位置
Do While i<j
objExcelApp.worksheets ("sheet1").Cells(i, 1).VAlue =objExcelApp.worksheets ("sheet1").Cells(i+1, 1).VAlue
objExcelApp.worksheets ("sheet1").Cells(i, 2).VAlue = objExcelApp.worksheets ("sheet1").Cells(i+1, 2).VAlue
i=i+1 
Loop 
objExcelApp.worksheets ("sheet1").Cells(i, 1).VAlue =HMIRuntime.Tags("yy").read
objExcelApp.worksheets ("sheet1").Cells(i, 2).VAlue =HMIRuntime.Tags("xx").read

'写数据到excel表格
objExcelApp.ActiveWorkbook.Save
'保存表格
Dim cons_data,ax1_data,ax2_data,ax3_data,ax4_data,ax5_data,ax6_data
Set cons_data=HMIRuntime.Tags("cons")
Set ax1_data=HMIRuntime.Tags("ax1")
Set ax2_data=HMIRuntime.Tags("ax2")
Set ax3_data=HMIRuntime.Tags("ax3")
Set ax4_data=HMIRuntime.Tags("ax4")
Set ax5_data=HMIRuntime.Tags("ax5")
Set ax6_data=HMIRuntime.Tags("ax6")


cons_data.Value = objExcelApp.worksheets ("sheet1").Cells(23,7).value
ax1_data.Value = objExcelApp.worksheets ("sheet1").Cells(23, 6).value
ax2_data.Value = objExcelApp.worksheets ("sheet1").Cells(23, 5).value
ax3_data.Value = objExcelApp.worksheets ("sheet1").Cells(23, 4).value
ax4_data.Value = objExcelApp.worksheets ("sheet1").Cells(23, 3).value
ax5_data.Value = objExcelApp.worksheets ("sheet1").Cells(23, 2).value
ax6_data.Value = objExcelApp.worksheets ("sheet1").Cells(23, 1).value
'上面的作用是将Excel表格中的数据读到wincc,存到临时变量里面
objExcelApp.Workbooks.Close
objExcelApp.Quit
Set ObjEXceLapp = Nothing
'到这里为止,关闭刚才打开的excel程序了
cons_data.Write 
ax1_data.Write 
ax2_data.Write 
ax3_data.Write 
ax4_data.Write 
ax5_data.Write 
ax6_data.Write 
'最后是把读到的excel值从临时变量中写入它对应的wincc变量中


End Sub

提问者对于答案的评价:
谢谢。

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2019年6月11日
下一篇 2019年6月11日

相关推荐

  • wincc 界面按钮

    界面按钮A怎么做?当权限m=1,点击按键A(阀门形状),出对话框,开阀 关阀两个按钮;点击开阀→按键A绿色闪烁(代表开阀中)→收到开到位信号,按键A绿色常亮; …

    2021年7月5日
  • PC&PG接口

    我的电脑装了STEP7  5.3 SP3 和WINCC 6.0 SP3 机器要和PLC通信,WINCC需要设置…

    SIMATIC WinCC 2019年6月11日
  • 请问大家wincc激活后为什么老是提示未找到启动画面?

    请问大家wincc激活后为什么老是提示未找到启动画面是什么原因,我明明设置了启动画面,谢谢! 图片说明:    最佳答案 1、项目启动画面组态了没?2、项目目录…

    2020年11月1日
  • WINCC6.0SP3趋势控件插入不到画面

    我刚安装了6.0SP3想在画面里插入一个趋势图控件。可是电脑总是提示插入失败。我想说的是我安装的是一个没有授权的软件。请问高手们是不是和没有授权有关系。我原来用5.1的也做过很好用…

    SIMATIC WinCC 2019年6月11日
  • 面板类型

    视屏中的面板类型的画面怎样添加的? 图片说明:    最佳答案 视频里面没有介绍吗?可以问训练营的老师啊好像就是通过画面编辑器,新建面板创建的,另外参考:在&n…

    2021年7月5日
  • MP377key编程问题(续)

    首先感谢“ 罗丹的侯.鸟”和“ 留恋你的气息”给我的解决问题方法,其中“ 罗丹的侯.鸟”给我的回答在补充的内容中我就是那么做的,我的连接设置在前期仿真…

    SIMATIC WinCC 2019年6月11日
  • 急急急,wincc7.0通讯超时严重,请教大侠们帮忙分析下原因

    本系统配置CPU:315-2DP以太网模块:CP343-1外加一个485通讯模块(目前没使用,仅配置了硬件)交换机:X208下层挂了4个分站上位机采用wincc7.0电脑为联想的主…

    SIMATIC WinCC 2019年6月11日
  • WINCC VBA中如何改变输入输出域的数据格式

    WINCC VBA中如何改变输入输出域的数据格式?.DataFormat只能改变小数点,我想进制变换。 问题补充:VB脚本Dim objSet obj…

    SIMATIC WinCC 2021年7月5日
  • 西门子触摸屏一主一备

    一个1500系列的PLC,两个精致系列面板(HMI程序一样),PLC程序逻辑中有HMI画面编号的应用,怎么让两个触摸屏不能同时被使用(两个触摸屏会一直连接在线) 最佳答案 通过用户…

    2020年11月1日
  • wincc中数据归档u

    wincc中数据归档中为什么会显示u,怎么消除。 最佳答案 为什么有时候字符“i”和“u”会与标签值一起显示?  描述: 在被测值后面会显示代表“in…

    SIMATIC WinCC 2019年6月11日