You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VBScript入门者求助:如何避免MsgBox重复弹窗问题

解决VBScript重复弹出MsgBox的问题

你的问题出在代码逐行检查匹配时,每匹配到一次就触发一次弹窗。要避免重复弹窗,只需添加一个标记变量记录是否已经弹出过提示,后续不再重复触发即可。

修改后的代码示例:

' 在遍历行的代码之前,初始化标记变量
Dim hasShownMsg : hasShownMsg = False

' 你的循环读取行逻辑(比如Do While/For Each之类的循环)
' ...

' 原判断逻辑修改如下
If (InStr(currentoption,"INTUM")>0 Or InStr(currentoption,"SHIM")>0) And Not hasShownMsg Then
  MsgBox "INSTALLER SHIM ET/OU INTUMESCENT ( VOIR W.O. ET CARTABLE INSTRUCTION INSTALLATION DE SHIM ET INTUMESCENT.)" ,vbExclamation
  hasShownMsg = True ' 弹窗后设置标记,防止再次触发
End If

说明:

  • hasShownMsg是布尔变量,初始值为False,表示还未弹出提示。
  • 第一次匹配到INTUM或SHIM时,Not hasShownMsg为真,执行弹窗并将变量设为True。
  • 后续再匹配到相同内容时,Not hasShownMsg为假,不会再执行MsgBox语句。

注意:要确保hasShownMsg定义在循环外部,保证其状态能在整个遍历过程中保留,不要把变量定义放在循环内部,否则每次循环都会重置为False,仍会重复弹窗。

内容的提问来源于stack exchange,提问作者Deepesh Kumar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 07:32:06