Bonjour,
Mon but est d'extraire les pièces jointes de mes courriers Emails et de les mettre dans un dossier spécifique sur mon DDur.
Ce sujet ayant déjà été traité, j'ai pu récupérer le code ci-dessous et cela fonctionne très bien quand les pièces jointes portent des noms différents.
Le problème est que lorsque les pièces jointes (xxx.jpg par exemple) portent toutes le même nom, je ne récupère que la dernière, les autres se trouvant écrasées par celle-ci.
Ayant très peu de connaissances en VBA, je ne parviens pas à modifier le code pour que mes pièces jointes soient renommées, par exemple grâce à la date et l'heure du document qui la contient, ou autre système.
Je précise que l'expéditeur est aussi toujours le même (Logiciel de sécurité).
Si vous pouvez m'aider, je vous en remercie à l'avance.
Michel
_______________________________________________
Sub SavePhotosPJ()
'Declaration
Dim myItems, myItem, myAttachments, myAttachment As Object
Dim myOrt As String
Dim myOlApp As New Outlook.Application
Dim myOlExp As Outlook.Explorer
Dim myOlSel As Outlook.Selection
Dim i As Integer
'Boîte de dialogue simple pour le chemin de sauvegarde
myOrt = InputBox("Destination", "Save Attachments", "E:\_-Photos\_Camerassecurite\")
On Error Resume Next
'Actions sur les objets sélectionnés
Set myOlExp = myOlApp.ActiveExplorer
Set myOlSel = myOlExp.Selection
'boucle
For Each myItem In myOlSel
Set myAttachments = myItem.Attachments
If myAttachments.Count > 0 Then
'Ajoute une remarque dans le corps du message
myItem.Body = myItem.Body & vbCrLf & _
"Pièces jointes copiées:" & vbCrLf
'for all attachments do...
For i = 1 To myAttachments.Count
'save them to destination
myAttachments(i).SaveAsFile myOrt & _
myAttachments(i).DisplayName
myItem.Body = myItem.Body & _
"File: " & myOrt & _
myAttachments(i).DisplayName & vbCrLf
Next i
'Enlève les pièces jointes du message
'While myAttachments.Count > 0
'myAttachments(1).Delete
'Wend
'Sauvegarde le message sans ses pièces jointes
myItem.Save
End If
Next
Set myItems = Nothing
Set myItem = Nothing
Set myAttachments = Nothing
Set myAttachment = Nothing
Set myOlApp = Nothing
Set myOlExp = Nothing
Set myOlSel = Nothing
End Sub
Partager