我正在Excel中编写一个VBA宏来分析电子表格中的数据并发送电子邮件.在这个宏中,我必须附加格式为"MM/dd"的日期,但输出的格式为"MM-dd".所以问题是,为什么我的斜线被短划线取代?
为简单起见,我已将代码缩减到此示例,并验证此示例存在的问题...
Private Sub Test()
Dim Yesterday As Date: Yesterday = DateAdd("d", -1, Now)
MsgBox Format(Yesterday, "MM/dd")
End Sub
Run Code Online (Sandbox Code Playgroud)
运行时,消息框按预期显示"12-15"而不是"12/15".
Jon*_*eet 12
我自己没有使用VBA,但我怀疑它被/视为"当前文化的日期分隔符" - 并且你可能在一个-用作日期分隔符的文化中执行.如果你总是想要一个斜线,你可以尝试引用转义斜线:
MsgBox Format(Yesterday, "MM\/dd")
Run Code Online (Sandbox Code Playgroud)
这对原因和修复都有点猜测,但至少值得一试.
编辑:感谢GSerg纠正如何在此上下文中执行正确的转义.
| 归档时间: |
|
| 查看次数: |
6859 次 |
| 最近记录: |