【发布时间】:2012-04-29 23:23:03
【问题描述】:
我想使用 Excel VBA 发送 Outlook 电子邮件。
代码Sendupdate 在手动运行时有效。
我的第二个宏 StartTimer 旨在在我不在办公桌前的设定时间执行上述操作。
当计算机被锁定时,电子邮件不会发送。当我回到办公桌前,电子邮件作为草稿挂在那里,我需要点击send 按钮。
Sub SendUpdate()
Recipient = "x@y.com"
Subj = "update"
Dim msg As String
msg = "hello”
HLink = "mailto:" & Recipient & "?"
HLink = HLink & "subject=" & Subj & "&"
HLink = HLink & "body=" & msg
ActiveWorkbook.FollowHyperlink (HLink)
Application.Wait (Now + TimeValue("0:00:01"))
Application.SendKeys "%s"
End Sub
Sub StartTimer()
Application.OnTime TimeValue("18:00:00"), "SendUpdate"
End Sub
有没有办法确保邮件被推送?
【问题讨论】:
-
对于这类操作,我从不使用 Excel。我使用 Windows 任务计划程序和 vbscript 文件从 excel 发送电子邮件。如果你有兴趣,我可以给你举个例子。绝对不是
Application.SendKeys "%s",因为当你的系统被锁定时它不会工作。 -
嗨,悉达多,感谢您的反馈。如果你不介意,我想看看你如何做到这一点的例子。非常感谢!
-
好的,我需要至少 30 分钟来编写它,测试它,然后用截图上传到这里 :)
-
你能确认你的windows操作系统吗?
-
Windows XP。它是我的工作计算机(所以有通常的登录等)。
标签: excel vba email outlook scheduled-tasks