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

Access VBA中Eval调用MsgBox时@符号的转义字符是什么?

Access中Eval调用MsgBox时显示含@邮箱的解决办法

原格式化逻辑回顾

在Access里,通过Eval调用MsgBox可以实现带格式的弹窗:

Eval "MsgBox(""One@two@three"")"

这里的@是特殊分隔符:

  • @之前的文本(One)会显示为粗体
  • 后续的@作为换行标记,two和three会分两行展示

问题场景

当需要在弹窗里显示含@的电子邮件地址时,直接写@会被当成格式分隔符处理,尝试过方括号、反斜杠、反引号、双@这些常规转义方式都无效。

可行解决方案

方案1:用Chr(64)替代邮箱中的@

利用Access的Chr()函数输出@的ASCII字符(编码64),绕过Eval对@的格式解析。示例代码:

' 仅显示邮箱(无额外格式)
Eval "MsgBox(""请发送邮件至:user"" & Chr(64) & ""example.com"")"

' 保留粗体+换行的同时显示邮箱
Eval "MsgBox(""请发送邮件至@user"" & Chr(64) & ""example.com"" & ""@如有疑问请留言"")"

这个方法既保留了Eval调用MsgBox的格式能力,又能正确显示邮箱地址。

方案2:放弃格式化,使用普通MsgBox手动换行

如果不需要粗体格式,直接调用原生MsgBox,用vbCrLf手动添加换行,无需处理转义:

MsgBox "请发送邮件至:user@example.com" & vbCrLf & "感谢您的配合"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 12:59:51