Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Automatiser enregistrement pièce jointe Email sur disque local

anthooooony

XLDnaute Occasionnel
Bonjour,


Je reçois des mails de la DSI chaque jour avec un fichier en pièce jointe avec la date du jour.
je souhaite savoir s'il est possible sans passer par une macro d'enregistrer les pièces jointe d'un mail sur le disque local. Via les règles? J'ai pas mal cherché justement dans les règles mais je n'ai pas trouvé, en cherchant sur internet j'ai vu que des codes Vba existaient pour répondre à ma demande. Mais je voulais trouver une solution plus simple que des longs codes que je ne comprends pas grrr

Merci d'avance

Anthooooony
 

STephane

XLDnaute Occasionnel
Re : Automatiser enregistrement pièce jointe Email sur disque local

Je crois qu'il n'existe pas d'action standard "Sauvegarder les pièces jointes" dans les règles de gestion des messages que l'on peut créer.

Tu peux alors :
- soit utiliser ton propre code (comme celui ci-dessous) dans une règle type "script"
- chercher des programmes complémentaires (type dll, addin) offrant cette possibilité de sauvegarde des attachements.
- voir avec ton administrateur/helpdesk pour une solution.

Public Sub SaveAttachements(Item As Outlook.MailItem)
'il est nécessaire de déclarer la procédure publique pour la voir dans la liste des scripts au moment de l'édition de la règle
If TypeName(Item) = "MailItem" Then
For Each atc In Item.Attachments
atc.SaveAsFile "c:\" & atc.DisplayName
Next atc
End If
End Sub
 

anthooooony

XLDnaute Occasionnel
Re : Automatiser enregistrement pièce jointe Email sur disque local

Bonjour Stéphane
Merci beaucoup de ton retour et de ton code
C'est dommage qu'on ne puisse pas nativement faire une règle qui enregistrer un pj sur un local alors qu'on peut le faire pour mettre dans un dossier précis dans outlook par un user déterminé et un objet précis.
Je suis dans une grosse société avec un système informatique ultra sécurisé il m'ait impossible d'installer dll et autre programme..

Ce code enregistre toutes les pièces jointes envoyées par tout les utilisateurs c'est ça?
Il est possible de spécifier un user et un objet précis? je vais faire mes recherches.

merci encore

anthooooony
 

anthooooony

XLDnaute Occasionnel
Re : Automatiser enregistrement pièce jointe Email sur disque local

Bonjour

J'ai trouvé ce code !! j'y suis depuis 9h il est 11h wouuuu !! j'ai les yeux défoncés à regarder des mini ligne qui je ne comprends même pas grrr

Je réussi à prendre toutes les pièces jointes qui se trouvent dans un dossier que je peux déterminer,
Je peux enregistrer la pièce jointe sur le disque local que je désire.

Par contre j'ai encore quelques questions si vous pouviez m'aider ....

Comment lui dire d'aller dans une dossier d'archivage ? Quand je remplace boite de reception par boite d archivage ça ne marche pas...
Aussi, pouvez me dire comment ne recupérer QUE les fichiers "xls", par défaut il prend tout jpg des pieces jointes etc..


Merci pour votre aide



 

STephane

XLDnaute Occasionnel
Re : Automatiser enregistrement pièce jointe Email sur disque local

Dans la procédure que tu as spécifiée, tu peux préciser le nom du dossier d'archivage dans la variable "Outlook_Archive".
Exemple :
Outlook_Archive = "Archivage de M. XLD"


Si tu as besoin, tu peux aussi lister tous les comptes spécifiés comme suit
Sub GetMailBoxNames()
Dim olApp As Outlook.Application
Dim olNS As Outlook.NameSpace
Dim i As Long
Set olApp = Outlook.Application
Set olNS = olApp.GetNamespace("MAPI")
For i = 1 To olNS.Folders.Count
Debug.Print olNS.Folders(i).Name
Next i
End Sub
 

anthooooony

XLDnaute Occasionnel
Re : Automatiser enregistrement pièce jointe Email sur disque local

Bonjour,

J'ai un problème avec ce code, il marche en théorie mais pas en pratique.

J'ai crée une règle, qui lance la macro grâce à (Mailitem). Jusque la ça va.

Pour rappel, je recois des fichiers joints tt les jours, je souhaite à la reception du mail, renvoyer tout les fichiers joints du dossier dans mon disque dur.

Cependant, la macro se lance mais ne récupère pas le contenu du mail reçu, c'est une fois qu'un autre mail revient qu'il met le contenu de fichier du dernier, il est en faite en retard d'un email dans la récupération des fichiers joints..
Quelqu'un aurait une piste?

Merci d'avance
ci dessous le contenu du code





 

anthooooony

XLDnaute Occasionnel
Re : Automatiser enregistrement pièce jointe Email sur disque local

Ca marche enfin en bidouillant
je lui dis que lorsqu'il recoit le mail, qui en renvoit un autre avec une regle qui rappel la macro la boucle est bouclé
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…