Outlook VBA: enregistrer pièces-jointes de plusieurs mails

Donou12 Messages postés 7 Date d'inscription   Statut Membre Dernière intervention   -  
Donou12 Messages postés 7 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Voici mon problème: je souhaite pouvoir enregistrer les pièces jointes de plusieurs mails en même temps dans un dossier donné. (le nom du dossier est libre, disons "nouveau dossier").

J'ai déjà parcouru tous les sujets sur la question sur le net, la seule macro qui entraine une modification quelque part est celle-ci: (je l'ai mise dans un module)

Sub SaveAttachment()

'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", "C:\PJ\")

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


'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


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


Problème:
-il y a bien un msgbox qui apparaît (il faut à ce moment renseigner l'emplacement du dossier dans lequel on veut enregistrer les PJ), mais les pièces-jointes ne s'enregistrent pas dans l'emplacement renseigné. Elles s'enregistrent nulle part en fait.
-Le mail est modifié : l'emplacement renseigné dans le msgbox ainsi que le nom de la PJ s'inscrivent alors sur le mail! = JE VEUX PAS

Exemple: Ma PJ s'appelle "Test"

je mets dans le Msgbox mon emplacement cible : C:\Users\Toto\Documents
A la fin de la macro, mon mail comportera le texte : File: C:\Users\Toto\DocumentsTest.pdf


Donc:


1) Je souhaite que la macro tienne compte des mails qui sont sélectionnés uniquement.
2) Je souhaite enregistrer les pièces-jointes dans un dossier situé sur le bureau (le msgbox où il faut indiquer l'emplacement peut-être conservé, je pourrai ensuite ajouter par défaut le chemin d'un dossier sur le bureau)
3) Je souhaite garder intacts les mails et les PJ


J'ai pensé à modifier le code pour réaliser des copier/coller, mais sans succès.
Je vous remercie par avance et vous souhaite de très bonnes fêtes!

Donou
A voir également:

2 réponses

yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 
bonsoir, la macro travaille sur tous les mails, pas uniquement sue ceux qui sont sélectionnés?
0
Donou12 Messages postés 7 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour, merci beaucoup pour votre intérêt.

La macro fonctionne actuellement que sur 1 seul mail (même lorsque plusieurs sont sélectionnés).
C'est à dire que l'inscription File: C:\Users\Toto\DocumentsTest.pdf ne s'inscrit que sur un seul mail à la fois.
0
Donou12 Messages postés 7 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour, je me permets de faire remonter ce sujet.
Merci, et bonne année !
0