Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

SAUVEGARDE DES MESSAGES OUTLOOK EN FICHIER TXT


Information sur la source

Description

Cliquez pour voir la capture en taille normale
Ce petit prg permet de sauvegarder tous les messages dans la boite de reception d'Outlook en fichiers TXT indepedants les uns des autres...
Chose qui n'est po possible avec ce joyeux logiciel ;0)

Choses a fiare:
-creer un nouveau projet , normal koi
- composants de projet "Microsoft MAPI control 6.0"
- composants de projet "Microsoft Windows Common Controls 6.0 (SP4)"
- references de projet
-un formulaire, tout pareil
-une drive box nommée "Drive"
-une dir box nommée "Dir"
-une progress bar nommée "ProgressBar"
-un MAPI session nommé "MAPISession"
-un MAPI message nommé "MAPIMessages"
-un bouton nommé "export_messages"
-coller le code !!!

 

Source

  • Private Sub Drive_Change()
  • Dir.Path = Drive
  • End Sub
  • Private Sub export_messages_Click()
  • Dim numfic As Integer
  • Dim nomfic As String
  • If MsgBox("Voulez vous exporter vos messages dans " & Chr(13) & Dir.Path & " ?", vbYesNo, "Attention") = vbYes Then
  • 'ouverture de session MAPI sur outlook
  • MAPISession.SignOn
  • 'MAPI messages utilise l'ID de la session pour travailler
  • MAPIMessages.SessionID = MAPISession.SessionID
  • 'Recupere les messages 'entrés'
  • MAPIMessages.Fetch
  • 'Juste pour savoir ou en on est
  • ProgressBar.Visible = True
  • ProgressBar.Min = 0
  • ProgressBar.Max = MAPIMessages.MsgCount + 1
  • 'Pour tous les messages
  • For i = 1 To MAPIMessages.MsgCount - 1
  • 'Prend un message
  • MAPIMessages.MsgIndex = i
  • ProgressBar.Value = i
  • ProgressBar.Refresh
  • 'Premier numero de fichier utilisable libre
  • numfic = FreeFile
  • 'Nom de fichier de sortie:
  • 'Path choisi + compteur de message format 000001 + _ + jour du message
  • ' + _ + mois du message + _ + annee du message + 3 premieres lettres du nom expediteur
  • ' + .txt Ex: 000001_12_01_2001_tot.txt
  • nomfic = Dir.Path & "\" & Format(i, "000000") & "_" & Day(MAPIMessages.MsgDateReceived) & "_" & Month(MAPIMessages.MsgDateReceived) & "_" & Year(MAPIMessages.MsgDateReceived) & "_" & Left(MAPIMessages.MsgOrigDisplayName, 3) & ".txt"
  • Open nomfic For Output As numfic
  • 'On ecrit la date de reception
  • Print #numfic, MAPIMessages.MsgDateReceived
  • 'le nom d origine et l adresse Email
  • Print #numfic, MAPIMessages.MsgOrigDisplayName & " " & MAPIMessages.MsgOrigAddress
  • 'et le texte du message
  • Print #numfic, MAPIMessages.MsgNoteText
  • Close numfic
  • Next i
  • 'on ferme la session MAPI
  • MAPISession.SignOff
  • MsgBox "Export terminé.", vbOKOnly, "Fin du traitement"
  • ProgressBar.Visible = False
  • End If
  • End Sub
Private Sub Drive_Change()
    Dir.Path = Drive
End Sub

Private Sub export_messages_Click()
    Dim numfic As Integer
    Dim nomfic As String
    If MsgBox("Voulez vous exporter vos messages dans " & Chr(13) & Dir.Path & " ?", vbYesNo, "Attention") = vbYes Then
    
        'ouverture de session MAPI sur outlook
        MAPISession.SignOn
        'MAPI messages utilise l'ID de la session pour travailler
        MAPIMessages.SessionID = MAPISession.SessionID
        'Recupere les messages 'entrés'
        MAPIMessages.Fetch
        
        'Juste pour savoir ou en on est
        ProgressBar.Visible = True
        ProgressBar.Min = 0
        ProgressBar.Max = MAPIMessages.MsgCount + 1
        
        'Pour tous les messages
        For i = 1 To MAPIMessages.MsgCount - 1
            'Prend un message
            MAPIMessages.MsgIndex = i
            ProgressBar.Value = i
            ProgressBar.Refresh
            'Premier numero de fichier utilisable libre
            numfic = FreeFile
            'Nom de fichier de sortie:
            'Path choisi + compteur de message format 000001 + _ + jour du message
            ' + _ + mois du message + _ + annee du message + 3 premieres lettres du nom expediteur
            ' + .txt Ex: 000001_12_01_2001_tot.txt
            nomfic = Dir.Path & "\" & Format(i, "000000") & "_" & Day(MAPIMessages.MsgDateReceived) & "_" & Month(MAPIMessages.MsgDateReceived) & "_" & Year(MAPIMessages.MsgDateReceived) & "_" & Left(MAPIMessages.MsgOrigDisplayName, 3) & ".txt"
            Open nomfic For Output As numfic
            'On ecrit la date de reception
            Print #numfic, MAPIMessages.MsgDateReceived
            'le nom d origine et l adresse Email
            Print #numfic, MAPIMessages.MsgOrigDisplayName & " " & MAPIMessages.MsgOrigAddress
            'et le texte du message
            Print #numfic, MAPIMessages.MsgNoteText
            Close numfic
        Next i
        'on ferme la session MAPI
        MAPISession.SignOff
        MsgBox "Export terminé.", vbOKOnly, "Fin du traitement"
        ProgressBar.Visible = False
    End If
End Sub
 

Conclusion

- Fonctionnement
Choisir un repertoir pour l export a l'aide
de la drive box et de la dir box.
Cliquer sur le bouton export.
La session s'ouvre (ouverture outlook et reception
des derniers meaages)
La progress Bar montre le deroulement restant.

Et voila le travail....

Bonne prog a tous et bravo a Nix

Enjoy ;0))

 

Commentaires et avis

signaler à un administrateur
Commentaire de raphaelle37 le 02/10/2002 14:06:53

C'est une très bonne idée et aurais-tu une idée pour récupérer les noms des champs correspondant à la définition d'un carnet d'adresse dans outlook. je suis sur l'importation et l'exportation de carnet d'adresses en automatique et synchronisé entre diverses applis : j'en suis qu'au début. J'ai fait une procédure d'export d'access 2000 vers outlook 2000 mais il me faut récupérer les noms dse champs d'outlook qui ne sont pas les même que ceux d'access (même quand tu utilises l'assistant) outlook a des champs en anglais et access en français (alors pour trouver les noms exacts, it's not easy for me!)
Merci d'avance.

signaler à un administrateur
Commentaire de cyretvirg le 24/12/2003 12:23:44

je cherche à shunter la sécurite outlook en utilisant la reference outlook 9 sous VB6, afin de ne pas avoir à cliquer sur "OUI" à chaque automatisme d'envoi de mail.... Qq'un connait ?

signaler à un administrateur
Commentaire de z980x le 26/12/2003 22:16:01

C'est drolement bien, mais, ca ne le fait que sur le compte principal.
De plus, on DOIT mettre le mot de passe (pour ouvrir Outlook)

Sinon, c'est Vraiment cool !
Allez, Euh... 6... Euh, non, 8/10 !

signaler à un administrateur
Commentaire de Cink le 09/02/2004 19:33:52

EN PASSANT, pour ceux qui doivent formatter et qu'ils veulent conserver leurs emails, vous n'avez qu'à les glisser de outlook à l'explorateur windows (dans le dossier désiré) et vice-verca.......

TK!

Keep it simple guys

signaler à un administrateur
Commentaire de youssefgg le 23/03/2006 12:20:34

votre programme m'a aider bcp, mon probleme si ce que je cherche à extraire les pieces jointes et les copies dans repertoire précis.

signaler à un administrateur
Commentaire de mcsliders le 14/06/2006 11:45:58

et si le message contient une piece jointe, comment la recupere-t-on ?

signaler à un administrateur
Commentaire de Truc2ouf le 21/12/2006 14:54:56

MCSLIDERS utilise MAPIMessage.AttachmentPathName

cu

signaler à un administrateur
Commentaire de gagagogo159 le 11/05/2007 16:11:32

Bonjour,
Bien que le sujet soit assez ancien, j aimerai poser une question qui je l espere trouvera reponse.
le principe de ce code est tres interressant.
Mais dans mon cas, j aimerai centraliser en un seul .txt le contenu de tout les message entrant dans ma boite outlook.

Que serait il à conseiller?
Je suis pas programmeur mais m interresse de plus en plus.

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

envoyer un mail htmlen vb6 [ par riderbmx ] Bonjourj'utilise un script d'envoi de mail trouvé ici meme.Ce script se connecte et utilise les commandes smtp pour envoyer le mailJe voudrai pouvoir Problème Envoi mail sur Hotmail [ par beetsy ] salut à tousj'utilise la calsse mail pour envoyer des mails depuis mon appli ASP.netles mails arrivent partout SAUF HOTMAIL et je n'ai pas d'erreurs.. envoyer un mail à la couleur du fond et de la police du textbox [ par Triboutmatthieu ] bonjour, j'ai créer un programme pour envoyer des mails qui comprend ce code quand je clique sur le bouton envoyerPrivateSub<font size="2" form qui envoi un mail [ par Le grand Zorro ] Bonsoir,Je fais une appllication dont un des formulaires doit envoyer un message simple à une adresse mail. j'utilise le code ci dessous que j'ai repr Envoi d'email : Sa ne marche pas ?? [ par scottmat ] Bonjours à tous,J'ai configurer un serveur et également un serveur SMTP dessus.Quand j'utilise le service SMTP à distance sur n'importe ordinateur ave envoi text d'un formulaire par mail [ par hastalavista ] bonjour tout le monde,j'ai cherché un code permettant d'envoyer un mail mais ca ne marche pas, y a toujours un probleme, ou que ca plante ma machine.j Envoi de plusieurs mail en asynchrone avec message d'avancement [ par marvaneke ] Je dois envoyer une dizaine de mail à une dizaine de personne, et tous les mail sont différents.  Je voudrais utliser l'instruction SendAsync, et affi envoi d mail via vb [ par kamilia911 ] kikou tt l monde,je vous explique mon cas. j ve envoyer des mail via  vb .j'ai mis le code suivant :Dim config As CDO.ConfigurationDim email As CDO.Me Inclure un text dans un email envoyé en auto par VB Excel [ par faboramix ] Bonjour, j'ai une formule sous visual basic qui permet d'envoyer des mail automatiquement par le biais de outlook, mais le corps du mail est vide... Net.mail ne fonctionne pas sous VS2008 [ par ricco ] BonjourJ'utilise une fonction voir ci dessous qui tourne parfaitement sous VS 2005. Je cherche à l'utiliser sous VS 2008 (je fais un copier coller) et


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,593 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.