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

如何将replyEmail的DeferredDeliveryTime设置为两天后上午9点?

解决Outlook VBA邮件延迟交付到指定时间的问题

要将邮件延迟到两天后的上午9点交付,你需要把日期偏移和指定时间结合起来,修正后的代码如下:

' 合并写法,直接设置目标时间
replyEmail.DeferredDeliveryTime = DateAdd("d", 2, Date) + TimeValue("09:00:00")

或者拆分步骤更清晰:

' 获取两天后的日期(仅日期部分,时间为00:00:00)
Dim twoDaysLater As Date
twoDaysLater = DateAdd("d", 2, Date)
' 加上上午9点的时间,得到最终延迟时间
replyEmail.DeferredDeliveryTime = twoDaysLater + TimeValue("09:00:00")

问题原因说明

  • 你之前用DateAdd("d", 2, Now)的问题在于,Now()包含当前的时分秒,所以得到的是两天后的同一时刻,而非指定的9点。
  • Date函数仅返回当前日期的0点时间,结合TimeValue("09:00:00")可以精准生成当天9点的时间,再通过DateAdd偏移两天,就能得到正确的目标交付时间。
  • 你之前尝试的Date + Time("09:00:00")缺少两天的偏移,只会设置到当天9点(若当前时间已过9点,还可能出现逻辑错误),因此必须结合日期偏移处理。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 07:21:32