【发布时间】:2020-06-24 15:59:08
【问题描述】:
我正在寻找 Outlook 2013 的 VBA 代码,该代码将在打开撰写窗口、回复或转发电子邮件时自动保存草稿(如果它也触发新撰写的邮件也可以)或在发送之前自动保存草稿点击发送按钮时。
基本上模拟在撰写之前或发送消息之前点击“保存”图标或 Ctrl-S。
当 Google Apps 帐户与 Outlook 中的其他电子邮件帐户结合使用时,Outlook 会在回复或转发非 Google Apps 帐户电子邮件时生成“无法完成操作,因为邮件提供商不支持它”。
我发现一种解决方法是在发送之前手动保存电子邮件。我可以手动完成,但经常忘记。出现错误信息后无法执行。在抛出“无法完成”错误后尝试保存会导致另一个错误。
顺便说一句,我已经有一个运行 Application_ItemSend 事件的例程;会增加另一个冲突吗?
更新:这是我尝试过的版本:
Private Sub Application_ItemSend(ByVal item As Object, Cancel As Boolean)
' Runs when the item is being sent.
Call AutoSaveDraft(item)
Call CheckSubject(item)
End Sub
(CheckSubject 触发)
Private Sub AutoSaveDraft(item As Object)
item.Save
SendKeys "+{F12}" ' Save the message. ##
SendKeys "^S"
Sleep 1000 ' Pause execution 1 second. The Windows sleep function is called in the beginning ##
End Sub
(是的,我有所有三种可能的保存方法。也分别尝试过。
【问题讨论】: