问题:有10个变量 A1、A2……A10,需要分别写入 1、2……10,用IO域太麻烦,用vbs脚本怎实现?
提示:利用数组方便很多,不过数组元素编号从0开始的,需要注意一下
示例:新建内部变量A1到A10,然后在画面内建一个按钮,按钮鼠标事件单击左键里写入VBS脚本如下
Sub OnLButtonUp(ByVal Item, ByVal Flags, ByVal x, ByVal y)
Dim A(9),I,TE,SUM
For I = 0 To 9
TE=CSTR(I+1)
TE="A"&TE '合成变量名
Set A(I)=HMIRuntime.Tags(TE)
A(I).value=I+1
A(I).write
Next
SUM=0
For I=0 To 9
A(I).read
SUM=SUM+A(I).value
Next
MsgBOX(SUM)
End Sub
保存画面,运行测试,点击按钮后弹出消息窗,求和值显示55;更换其他计算方式也可进行其他计算
以上示例仅供参考,不限于修改变量值,主要学习批量修改的方法。
当然,如果画面里有多个名称类似的对象,修改对象属性也可用此方法。
比如有多个圆,需要同时修改圆的半径,不过需圆的名称统一修改为:前面字符一致,后面按数字顺序编号的形式,利用circle1、circle2、circle3……