Classement pièce jointe en vba

Fermé
Berorn Messages postés 30 Date d'inscription jeudi 16 février 2017 Statut Membre Dernière intervention 5 août 2022 - 8 juil. 2019 à 17:27
yg_be Messages postés 22722 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024 - 9 juil. 2019 à 13:01
Bonjour,
Cela fait un moment que je cherche à classer, une pièce jointe venant d'un mail, dans un dossier sur le disque dur.
Beaucoup de sujet tourne la dessus mais aucun correpond à mon besoin :
Lors de la réception d'un mail d'un expéditeur précis, enregistrer la pièce jointe dans un dossier ( pour l'exemple ce sera "mon\dossier" )
Voici un morceau de code que j'ai essayé de modifier mais sans réussite....
Ce code se trouve dans le vba de outlook dans "thisoutlooksession" pour qu'il puisse être lancé dès la réception du mail.

Private Sub Application_NewMailEx(ByVal EntryIDCollection As String)

'Déclarations

Dim MonMail As Outlook.MailItem
Dim myAttachments As Outlook.Attachments

'Instance des variables

Set MonMail = Application.Session.GetItemFromID(EntryIDCollection)
Set myAttachments = MonMail.Attachments


If MonMail.SenderEmailAddress = "toto@hotmail.fr" Then
myAttachments.SaveAsFile "Mon\chemin"
End If

End Sub

Merci pour votre aide

1 réponse

yg_be Messages postés 22722 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024 1 476
9 juil. 2019 à 13:01
bonjour, suggestion:
Private Sub Application_NewMailEx(ByVal EntryIDCollection As String)
Dim MonMail As Outlook.MailItem
Dim myAttachments As Outlook.Attachments
Dim unfichier As Attachment
Set MonMail = Application.Session.GetItemFromID(EntryIDCollection)
Set myAttachments = MonMail.Attachments
If MonMail.SenderEmailAddress = "toto@hotmail.fr" Then
    For Each unfichier In myAttachments
        unfichier.SaveAsFile "C:\data\temp\" + unfichier.DisplayName
    Next unfichier
End If
End Sub
0