【问题标题】:Save Copy of Sent Item in a specific folder将已发送项目的副本保存在特定文件夹中
【发布时间】:2020-07-28 15:59:00
【问题描述】:

我想在特定文件夹中保存已发送邮件项目的副本。

点击“发送”时会触发以下代码。

该项目作为未发送的电子邮件项目保存在文件夹中(Outlook 显示消息:“此消息尚未发送”)。我希望它保存为已发送项目(就像文件夹“已​​发送项目”一样)。

Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
On Error GoTo ErrorHandler

Dim moveToFolder As Outlook.MAPIFolder
Dim myCopiedItem As Outlook.MailItem
    
Set ns = Application.GetNamespace("MAPI")
Set moveToFolder = ns.Folders("Mailbox - My Mailbox").Folders(".Waiting_for")

With Item

    If InStr(Item.Body, "/wf") > 0 Then
        Set myCopiedItem = Item.copy
        myCopiedItem.Move moveToFolder
    Else
    End If

End With

Exit Sub
ErrorHandler:
    MsgBox "Error!"
End Sub

【问题讨论】:

    标签: vba outlook


    【解决方案1】:

    当 ItemSend 事件触发时,消息尚未提交(您可以将 Cancel 参数设置为 true)。您最早可以看到处于已发送状态的消息是在已发送项目文件夹上触发 Items.ItemAdd 事件时。

    为什么不简单地设置 MailItem.SaveSentMessageFolder 属性? Outlook 将在发送后自动移动邮件。唯一的限制是该文件夹必须在创建消息的同一存储中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-11-05
      • 2021-03-24
      • 1970-01-01
      • 1970-01-01
      • 2020-01-30
      • 1970-01-01
      • 2012-07-10
      • 1970-01-01
      相关资源
      最近更新 更多