Vba 如何在“已发送邮件”文件夹中使用ItemAdd?

Vba 如何在“已发送邮件”文件夹中使用ItemAdd?,vba,email,outlook,Vba,Email,Outlook,这个问题似乎应该在这里得到回答: 我无法在Outlook 2016的VB编辑器中的事件列表中找到引用的Items.ItemAdd事件 Application.ItemSend位于此Outlook会话中。我提出的脚本看起来90%类似于原始问题中发布的脚本,我也有同样的问题。邮件项目保存在其预发送状态 无法使用MailItem.SaveSentMessageFolder,因为我正在尝试将已发送的邮件移动到PST 本次活动说明如下: 如果有人问为什么不使用自动存档功能,我的组织会为发送的邮件和自动

这个问题似乎应该在这里得到回答:

我无法在Outlook 2016的VB编辑器中的事件列表中找到引用的Items.ItemAdd事件

Application.ItemSend位于此Outlook会话中。我提出的脚本看起来90%类似于原始问题中发布的脚本,我也有同样的问题。邮件项目保存在其预发送状态

无法使用MailItem.SaveSentMessageFolder,因为我正在尝试将已发送的邮件移动到PST

本次活动说明如下:

如果有人问为什么不使用自动存档功能,我的组织会为发送的邮件和自动存档设置一些糟糕的组策略。我无法费力地完成已发送邮件的自动存档设置。

使用

范例


那么,您的代码中有什么不起作用呢?谢谢!我没有注意到object_u中的object_u,ItemAdd是一个用户提供的对象,因此ItemAdd是一个可以随该对象一起出现的事件。对不起,解释得太糟糕了。无论如何,谢谢。
Option Explicit
Private WithEvents Items As Outlook.Items

Private Sub Application_Startup()
    Dim olNs As Outlook.NameSpace
    Dim Inbox  As Outlook.MAPIFolder

    Set olNs = Application.GetNamespace("MAPI")
    Set Inbox = olNs.GetDefaultFolder(olFolderSentMail)
    Set Items = Inbox.Items
End Sub

Private Sub Items_ItemAdd(ByVal Item As Object)
    If TypeOf Item Is Outlook.mailitem Then
'        code to copy the sent Item here
    End If
End Sub