参考程序如下,运行基本没啥问题
就是激活WINCC 项目后,第一次触发条件弹出的MsgBox会在后台,而我项目是全屏的,不看任务栏都不知道弹MsgBox了,这时候如果不点MsgBox的确认,还能继续操作画面,VBS就不往后执行了。。。
去了MsgBox倒是可以,不是很想去
Option Explicit
Function action
Dim Array(100),str,i,j,a,KMCK
Set KMCK=HMIRuntime.Tags("KMCK")
KMCK.Read
For i=1 To 100
Set Array(i)=HMIRuntime.Tags("库名"&i)
Array(i).Read
'str=str&"array"&"("&i&")"&"="&Array(i).value&" "
Next
'MsgBox str
For i=1 To 99
For j=i+1 To 100
If Array(i).value<>"" Then
If Array(i).value=Array(j).value Then
MsgBox i&"#和"&j&"#重复,请重新输入"
HMIRuntime.Tags("库名"&KMCK.value).write ""
KMCK.write 0
'Exit For
End If
End If
Next
Next
HMIRuntime.Tags("CKflag").Write 0
End Function
最佳答案
其实这个可以通过向MsgBox传递指定的按钮模式来实现功能
你的源代码是:
MsgBox str
你可以试一下用:
MsgBox str, vbYesNo+vbSystemModal,“标题栏”
这样的话你你必须点击按钮,才能进行其他的操作,而且这个按钮会在最前面,在WinCC中其他的都不能干,而且这个画面会显示在最上层。“标题栏” 可以填写自定义内容,也可以不要。
提问者对于答案的评价:
试了下用你的方法解决问题了,谢谢
不过因为后来发现没法改变msgbox的大小字体等,全用“画面窗口”.Visible = True
代替了
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc363411.html