Salut,
Je souhaiterai pouvoir enregistrer automatiquement les pièces jointes des mails que je reçois sous Outlook dans un répertoire de mon disque.
Est ce que quelqu'un sait comment faire ça ?
Salut,
Je souhaiterai pouvoir enregistrer automatiquement les pièces jointes des mails que je reçois sous Outlook dans un répertoire de mon disque.
Est ce que quelqu'un sait comment faire ça ?
Automatiquement ? c'est à dire ?Envoyé par Nico118
Dès que tu recois le message ?
Je suis egalement interresser par une solution
free de preferrence....
Beyer Didier
Oui c'est ça. Dès que je reçois mon message, je veux que la pièce jointe soit enregistrée sans intervention de ma part.Envoyé par Willand
Slt,
J'ai une solution mais c'est en VBA.
Ceci fonctionne sous Outlook (celui d'Office) à ne pas confondre avec (Express celui de windows).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 Private Sub Application_NewMail() Dim MaDatabase As NameSpace, Folder As MAPIFolder, Mail As MailItem Set MaDatabase = Application.GetNamespace("MAPI") Set Folder = MaDatabase.GetDefaultFolder(olFolderInbox) Set Mail = Folder.Items(Folder.Items.Count) For Each Attachment In Mail.Attachments Attachment.SaveAsFile "C:\tmp\" & Attachment.FileName Next End Sub
angI.
OK ça marche mais ce que je voudrais faire maintenant, c'est intégrer cette macro dans ue règle de messagerie. Ou au pire la lancer à interval régulier.
1) C'est quoi une règle de messagerie ?
2) Tu n'as pas besoin de la lancer à intervalle régulier, elle se lance d'elle même à chaque nouveau message .
angi.
Pour quelle se lance, il faut la mettre ou ?? dans une regle de messagerie ??
1) Outils/Visual Basic Editeur
2) Voir/Explorateur de projet
3)Dans l'arborescence de gauche double cliquez sur "Cette session Outlook" (ou quelque chose du genre, je suis sous Xp)
4)Dans la fenêtre de droite, dans la liste déroulante ou il est inscrit "Général" choisir "Application". Puis dans la liste déroulante de droite choisir "New_Mail".
Il ne vous reste plus qu'à copier le code et le coller dans la fenêtre.
Application correspond à l'instance en cours de Outlook (votre cession) la liste de droite liste les différents évènements d'Outlook que vous pouvez intercepter et manipuler.
that's all
angI.
Bonjour et merci ne sont pas proscrit sur ce forum
Salut,
ça marche exactement comme je souhaitai en fait, je n'avais pas crée la macro comme il faut.
merci beaucoup
Salut à tous
Merci bcp pour ce code Angelico.
Je souhaiterais juste lui rajouter une condition :
je voudrais que cette procédure ne s'applique que pour une pièce-jointe nommée
Proc1.xls
Merci d'avance.
@+ Drazic
Salut Drazic,
Voici la version modifié :
Tu remarqueras que j'ai ajouté une condition :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 Private Sub Application_NewMail() Dim MaDatabase As NameSpace, Folder As MAPIFolder, Mail As MailItem Set MaDatabase = Application.GetNamespace("MAPI") Set Folder = MaDatabase.GetDefaultFolder(olFolderInbox) Set Mail = Folder.Items(Folder.Items.Count) For Each Attachment In Mail.Attachments if Attachment.FileName = "Proc1.xls" then Attachment.SaveAsFile "C:\tmp\" & Attachment.FileName end if Next End Sub
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 if Attachment.FileName = "Proc1.xls" then Attachment.SaveAsFile "C:\tmp\" & Attachment.FileName end if
voilà.
Bonne journée.
angI.
Bonjour à tous,
Je reprends ce sujet car je souhaite obtenir quelques précisions supplémentaires.
Le problème est le suivant :
- lorsque je numérise à partir de mon photocopieur, tous les documents sont nommés "Document.pdf", j'ai donc utiliser la macro avec la condition If FileName
- mais je dois souvent numérisés en masse et lorsque je j'enchaîne les numérisations, le fichier "Document.pdf" dans mon répertoire de destination est remplacé et donc écrase au fur et à mesure.
Y a-t-il un moyen d'ajouter une condition pour que le fichier ne soit pas écrasé s'il existe déjà dans le répertoire ? Et donc de renommer le fichier en Document(2).pdf, Document(3).pdf, etc. ?
Merci d'avance de votre aide
Djé
Bonjour,
Le code marche à merveille mais comment faire pour qu'il s'applique à une boîte au lettre commune et non à ma boîte perso??
Merci de votre aide.
Luicoaat
bonjour,
votre macro m'a été très utile, mais j'aimerai qu'elle ne se déclenche seulement quand un mail avec un objet spécifique (toujours le même) arrive, comment faire?
J'ai également quelques petit problème avec cette ligne:
Set Mail = Folder.Items(Folder.Items.Count)
de temps en temps, sans raison vba me demande le débogage, et cette ligne est surlignée en jaune!
pourquoi? merci d'avance
il n'y a pas de débogage, mais les pièces jointes ne sont pas enregistrée, pourquoi?
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager