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

拼接功能异常:检测延迟码MT/DA时消息框无法触发

解决延迟码检测触发消息框的问题

我猜你大概率是用VBA来实现这个功能的(毕竟提到了消息框),问题核心出在通配符的匹配方式用错了——直接用等于号=是精确匹配,不会把*当成通配符处理,只有用Like操作符才能让通配符生效。

给你几个可行的单行代码方案:

方案1:精准匹配MT/DA开头的格式

If delayCode Like "MT-*" Or delayCode Like "DA-*" Then MsgBox "检测到目标延迟码!"

这里Like "MT-*"会匹配所有以MT-开头的字符串,不管后面跟着什么数字;如果严格要求后面必须是一位数字,可以把*换成#,也就是Like "MT-#"。

方案2:更紧凑的字符组匹配(可选)

如果想写得简洁些,也可以用字符组语法:

If delayCode Like "MT-#" Or delayCode Like "DA-#" Then MsgBox "检测到目标延迟码!"

这个写法严格限定了后面是一位数字,完全符合你两位字母-一位数字的格式要求。

为什么之前的代码失效?

举个反例,如果你之前写的是:

If delayCode = "MT-" & "*" Then MsgBox "触发"

这时候程序会把"MT-" & "*"当成一个精确的字符串"MT-*"去匹配,只有当延迟码完全等于这个字符串时才会触发,自然不会生效。必须用Like操作符来启用通配符的匹配逻辑。

如果你的开发环境不是VBA(比如Excel公式、其他脚本语言),可以补充说明,我再给你调整对应的代码,但核心逻辑都是一致的:要用支持通配符的匹配方法,而非精确相等判断。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 08:15:49