admin管理员组

文章数量:1389827

I'm trying to download all attachments from a specific folder where the email is unread, in this example I have a subfolder under my inbox called Test and want to save the attachment in C:\Test, however when I execute the code I get an error of The attampted operation failed, an object could not be found. Any assistance is appreciated. Many thanks

Const olFolderInbox As Integer = 6
    '~~> Path for the attachment
    Const AttachmentPath As String = "C:\Test\"
    
    Sub DownloadAttachmentFirstUnreadEmail()
        Dim oOlAp As Object, oOlns As Object, oOlInb As Object
        Dim oOlItm As Object, oOlAtch As Object
        '~~> New File Name for the attachment
        Dim NewFileName As String
        NewFileName = AttachmentPath & Format(Date, "DD-MM-YYYY") & "-"
        '~~> Get Outlook instance
        Set oOlAp = GetObject(, "Outlook.application")
        Set oOlns = oOlAp.GetNamespace("MAPI")
        Set oOlInb = oOlns.GetDefaultFolder(olFolderInbox).Parent
        Set oOlInb = oOlInb.Folders("Subfolder1").Folders("Subfolder1_subfolder1").Folders("Test")
        '~~> Check if there are any actual unread emails
        If oOlInb.Items.Restrict("[UnRead] = True").Count = 0 Then
            MsgBox "NO Unread Email In Inbox"
            Exit Sub
        End If
        '~~> Extract the attachment from the 1st unread email
        For Each oOlItm In oOlInb.Items.Restrict("[UnRead] = True")
            '~~> Check if the email actually has an attachment
            If oOlItm.Attachments.Count <> 0 Then
                For Each oOlAtch In oOlItm.Attachments
                    '~~> Download the attachment
                    oOlAtch.SaveAsFile NewFileName & oOlAtch.filename
                    Exit For
                Next
            Else
                MsgBox "The First item doesn't have an attachment"
            End If
            Exit For
        Next
     End Sub

本文标签: excelTrying to download all attachments in a specific folder where the email is unreadStack Overflow