我正在寻找Outlook 2013的VBA代码,该代码会在打开撰写窗口时,在回复或转发电子邮件时自动保存草稿(如果它也触发新撰写的邮件也可以。) )或者在点击发送按钮之前发送它。
基本上模仿击中" Save"在撰写之前或发送邮件之前的图标或Ctrl-S。
Outlook生成"无法完成操作,因为邮件提供商不支持它"在Google Apps帐户与Outlook中的其他电子邮件帐户合并时,回复或转发非Google Apps帐户电子邮件时出错。
我发现解决方法是在发送之前手动保存电子邮件。我可以手动完成,但经常忘记。出现错误消息后无法执行此操作。在"之后试图保存无法完成"抛出错误会导致另一个错误。
BTW,我已经有一个运行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
(是的,我有三种潜在的保存方法。也已经单独尝试过。
答案 0 :(得分:0)
如果它有助于避免问题,您可以在ItemSend事件处理程序中调用保存方法。
您可能会发现Getting Started with VBA in Outlook 2010文章有用。
答案 1 :(得分:0)
由于原始海报并未明确说明,因此只需按发送即可实际防止与非Google Apps帐户相关的错误:
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
Item.Save
End Sub