Je souhaite télécharger toutes les pièces jointes des e-mails non lus et reçus de l'expéditeur spécifique dans MS Outlook.Télécharger les pièces jointes à partir des éléments UnRead et proviennent de l'expéditeur spécifique
J'ai trouvé un code qui télécharge toutes les pièces jointes de tous les e-mails non lus. Downloading Attachments from Unread Emails of MS Outlook et a tenté de l'adapter.
Cependant, le filtre ne fonctionne pas correctement. Cela montre qu'il n'y a pas de tels e-mails.
Filter = "[Unread] = True And [SenderEmailAddress] = '[email protected]'"
est Ci-dessous le code entier:
Option Explicit
Public Sub Example()
Dim oOlAp As Object
Dim olNs As Outlook.Namespace
Dim Inbox As Outlook.MAPIFolder
Dim Items As Outlook.Items
Dim Item As Outlook.MailItem
Dim Atmt As Attachment
Dim Filter As String
Dim FilePath As String
Dim AtmtName As String
Dim i As Long
'// Set Inbox Reference
Set oOlAp = GetObject(, "Outlook.application")
Set olNs = oOlAp.GetNamespace("MAPI")
Set Inbox = olNs.GetDefaultFolder(olFolderInbox)
FilePath = "C:\Users\irybchuk\Documents\"
Filter = "[Unread] = True And [SenderEmailAddress] = '[email protected]'"
Set Items = Inbox.Items.Restrict(Filter)
'// Loop through backwards
For i = Items.Count To 1 Step -1
Set Item = Items.Item(i)
DoEvents
If Item.Class = olMail Then
Debug.Print Item.Subject ' Immediate Window
For Each Atmt In Item.Attachments
AtmtName = FilePath & Atmt.FileName
Atmt.SaveAsFile AtmtName
Next
End If
Next
Set Inbox = Nothing
Set Items = Nothing
Set Item = Nothing
Set Atmt = Nothing
Set olNs = Nothing
End Sub
Je crois que ici: How to filter items sendername from Items_ItemAdd Events? pourrait être décrit solution possible comment changer la ligne de filtre. Cependant, je ne pouvais pas le faire.
Je ne vois rien de mal à votre filtre, quel bureau êtes-vous et obtenez-vous un e rrrr? – 0m3r
J'utilise MS Office 2010 et je ne reçois aucune erreur. Le problème est, il ne peut pas trouver un tel e-mail - il montre qu'il n'y a pas un tel e-mail dans la boîte. Alors que si j'utilise le filtre uniquement pour les e-mails non lus - il en trouve un. – Iaroslav