Vba 如何在Outlook中保存已发送邮件

Vba 如何在Outlook中保存已发送邮件,vba,outlook,Vba,Outlook,如何将已发送的信件保存到所选文件夹? Item.SaveSentMessageFolder不工作。 调试期间没有错误 Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean) Dim message As String Dim header As String Dim selectFolderName As String Dim selectFolderIt

如何将已发送的信件保存到所选文件夹?
Item.SaveSentMessageFolder
不工作。 调试期间没有错误

Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)     
     Dim message As String
     Dim header As String
     Dim selectFolderName As String
     Dim selectFolderItem As Outlook.MAPIFolder
     Dim oOutlook As New Outlook.Application
     Dim MyData As DataObject
     Set MyData = New DataObject

     message = "Do you want to save the letter to a folder?"
     header = "Save"

     If MsgBox(message, vbYesNo + vbQuestion, header) = vbYes Then
         SavePopUp.Show
         MyData.GetFromClipboard

        selectFolderName = MyData.GetText(1)
         Set oNameSpace = oOutlook.GetNamespace("MAPI")
         Set selectFolderItem = oNameSpace.Folders(1).Folders.Item("Projects").Folders.Item(selectFolderName)
         Set Item.SaveSentMessageFolder = selectFolderItem
     End If

End Sub

首先,不要硬编码存储索引(1)。按名称访问它。
其次,只能将SaveSentMessageFolder设置为邮件所在的同一存储区的文件夹。

这就是您要做的吗


您是否已检查selectFolderItem是否不为空?硬编码文件夹索引(OnNamespace.Folders(1))是一个非常糟糕的主意。是的,我检查了指定的路径是否有效这不是我所问的-您是否在运行时(通过放置断点)检查selectFolderItem变量是否为空?是的,我检查了。指定的文件夹是正确的。谢谢提示。但在发送信件后,它仍然不会保存到文件夹中。不,这是我的文件夹。我不需要保存到文件系统中。我在outlook中创建的Av文件夹
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)

    Dim Select_Folder As folder

    Dim message As String
        message = "Do you want to save the letter to a folder?"
    Dim header As String
        header = "Save"

    If TypeName(Item) = "MailItem" And Item.DeleteAfterSubmit = False Then

       If MsgBox(message, vbYesNo + vbQuestion, header) = vbYes Then
          'Display dialog box
          Set Select_Folder = Application.Session.PickFolder
          Set Item.SaveSentMessageFolder = Select_Folder
       End If

    End If
End Sub