Extraire PJ dans mail Outlook

Résolu/Fermé
Automag - 15 mai 2014 à 09:55
 Automag - 15 mai 2014 à 11:22
Bonjour,

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

' madate = olMail.ReceivedTime
madate = Date
madate = Format(madate, "yyyymmdd")

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

End Function
A voir également:

1 réponse

Problème résolu en modifiant le ligne :

pceJointe.SaveAsFile "E:\Test\" & madate & x & "_" & pceJointe

Par :

chemin = "E:\Test\" & Format(Date, "yyyymmdd") & "\"
pceJointe.SaveAsFile chemin & pceJointe 'Sauvergarde du dossier
0