Je souhaite extraire les pièces jointes de mes mails dans outlook et les copier dans un dossier.
Le chemain du dossier est E:\Test\ dans ce dossier le programme doit me créer un sous dossier portant la date du jour de récéption du mail sous la forme "yyyymmdd".
Mon problème est que je n'arrive pas à sauvegarder le fichier DANS le sous dossier portant la date du jour de récéption. Le programme le sauvegarde dans le dossier E:\Test\.
Voici mon code :
Option Explicit Option Compare Text
Sub Essai() Extraction "Perso", "***@***"
End Sub
Sub Extraction(NomDossier As String, Expediteur As String) Dim olApp As Outlook.Application Dim olSpace As Outlook.NameSpace Dim olFolder As Outlook.MAPIFolder Dim olInbox As Outlook.MAPIFolder Dim olMail As Outlook.MailItem Dim pceJointe As Outlook.Attachment Dim y As Integer, x As Integer Dim madate
Set olApp = New Outlook.Application Set olSpace = olApp.GetNamespace("MAPI") Set olInbox = olSpace.GetDefaultFolder(olFolderInbox) Set olFolder = olInbox.Folders(NomDossier)
For Each olMail In olFolder.Items If olMail.SenderEmailAddress = Expediteur And Not olMail.Attachments.Count = 0 Then For y = 1 To olMail.Attachments.Count Set pceJointe = olMail.Attachments(y) x = x + 1 Call RepertoireExiste("E:\Test\" & madate) pceJointe.SaveAsFile "E:\Test\" & madate & x & "_" & pceJointe Set pceJointe = Nothing Next y End If Next olMail
End Sub
Function RepertoireExiste(Chemin As String) As Boolean
On Error Resume Next
RepertoireExiste = GetAttr(Chemin) And vbDirectory
If RepertoireExiste = True Then Exit Function Else MkDir (Chemin) End If