Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 22/04/2011, 11h54   #1
Membre actif
 
Homme Quentin D.
Étudiant
Inscription : avril 2011
Messages : 175
Détails du profil
Informations personnelles :
Nom : Homme Quentin D.
Âge : 25
Localisation : France, Moselle (Lorraine)

Informations professionnelles :
Activité : Étudiant
Secteur : Finance

Informations forums :
Inscription : avril 2011
Messages : 175
Points : 165
Points : 165
Par défaut Comment extraire le corps d'un mail (outlook) et l'enregistrer dans un fichier texte (ou word) en VBA Access?

Bonjour à tous,

Alors tout comme l'indique le nom de la discussion, je cherche à extraire le corps de texte d'un mail (cad seulement le message), l'enregistrer dans un fichier word (ou texte) et cela pour tous les messages de ma boite mail outlook.

J'ai déjà une base sur laquelle travailler :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
Sub ExtractMessage()
 
Dim OLapp As Outlook.Application
Dim OLspace As Outlook.Namespace
Dim OLinbox As Outlook.MAPIFolder
 
Set OLapp = CreateObject("Outlook.application")
Set OLspace = OLapp.GetNamespace("MAPI")
Set OLinbox = OLspace.GetDefaultFolder(olFolderInbox)
 
MsgBox OLinbox.Items(1).Body
 
Set OLapp = Nothing
Set OLspace = Nothing
Set OLinbox = Nothing
 
End Sub
Mais, il faudrait que je boucle sur tous les messages de mon Inbox au lieu d'afficher qu'un seul message et que chaque message soit enregistré dans un fichier texte ou word différent.

Merci d'avance pour votre aide.

Cordialement,

Nitromard
Nitromard est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/04/2011, 13h24   #2
Membre actif
 
Homme Quentin D.
Étudiant
Inscription : avril 2011
Messages : 175
Détails du profil
Informations personnelles :
Nom : Homme Quentin D.
Âge : 25
Localisation : France, Moselle (Lorraine)

Informations professionnelles :
Activité : Étudiant
Secteur : Finance

Informations forums :
Inscription : avril 2011
Messages : 175
Points : 165
Points : 165
Bon j'ai trouvé comment faire pour boucler sur les mails de l'inbox, le problème revient donc à enregistrer chaque message dans un fichier word ou texte.

Code :
1
2
3
4
 
For Each Item In OLinbox.Items
    MsgBox Item.Body
Next Item
Nitromard est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/04/2011, 10h44   #3
Membre actif
 
Homme Dominique
Gestion parc machine, assistance informatique, développement Access, Excel...
Inscription : février 2007
Messages : 130
Détails du profil
Informations personnelles :
Nom : Homme Dominique
Âge : 56
Localisation : France, Puy de Dôme (Auvergne)

Informations professionnelles :
Activité : Gestion parc machine, assistance informatique, développement Access, Excel...
Secteur : Service public

Informations forums :
Inscription : février 2007
Messages : 130
Points : 161
Points : 161
Bonjour.
Pourquoi ne pas ouvrir le fichier texte avant le début de la boucle, ajouter le corps de message dans le fichier puis fermer le fichier après la fin de la boucle
Code :
1
2
3
4
5
6
7
8
9
10
  Dim NoFile As Integer
 
  NoFile = FreeFile
  Open CurrentProject.Path & "\" & NomFichier For Append As #NoFile
 
  For Each Item In OLinbox.Items
    Print #NoFile, Item.Body
  Next Item
 
  Close #NoFile
Cordialement, Dominique
PapouDomi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/04/2011, 12h02   #4
Membre actif
 
Homme Quentin D.
Étudiant
Inscription : avril 2011
Messages : 175
Détails du profil
Informations personnelles :
Nom : Homme Quentin D.
Âge : 25
Localisation : France, Moselle (Lorraine)

Informations professionnelles :
Activité : Étudiant
Secteur : Finance

Informations forums :
Inscription : avril 2011
Messages : 175
Points : 165
Points : 165
C'est-à-dire?
Je ne comprends pas très bien ^^, j'ai donc ce code :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Sub ExtractMessage()
 
Dim OLapp As Outlook.Application
Dim OLspace As Outlook.Namespace
Dim OLinbox As Outlook.MAPIFolder
Dim FileName As String
Dim Item As Object
Dim NoFile As Integer
 
Set OLapp = CreateObject("Outlook.application")
Set OLspace = OLapp.GetNamespace("MAPI")
Set OLinbox = OLspace.GetDefaultFolder(olFolderInbox)
 
NoFile = FreeFile
Open CurrentProject.Path & "\" & NomFichier For Append As #NoFile
 
For Each Item In OLinbox.Items
    Print #NoFile, Item.Body
Next Item
 
Close #NoFile
 
Set OLapp = Nothing
Set OLspace = Nothing
Set OLinbox = Nothing
 
End Sub
Mais il me manque le dossier de destination et le nom du fichier nom?
Nitromard est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/04/2011, 17h16   #5
Membre actif
 
Homme Dominique
Gestion parc machine, assistance informatique, développement Access, Excel...
Inscription : février 2007
Messages : 130
Détails du profil
Informations personnelles :
Nom : Homme Dominique
Âge : 56
Localisation : France, Puy de Dôme (Auvergne)

Informations professionnelles :
Activité : Gestion parc machine, assistance informatique, développement Access, Excel...
Secteur : Service public

Informations forums :
Inscription : février 2007
Messages : 130
Points : 161
Points : 161
Bonjour.
Il faut bien sur initialiser la variable NomFichier. Dans ton code, elle s'appelle d'ailleurs FileName
Par exemple FileName="Messages.txt"
Dans l'exemple fourni, la ligne 15 permet de gérer ce fichier dans le répertoire courant, celui où a été lancé l'application.
Cordialement, Dominique.
PapouDomi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/05/2011, 13h22   #6
Membre actif
 
Homme Quentin D.
Étudiant
Inscription : avril 2011
Messages : 175
Détails du profil
Informations personnelles :
Nom : Homme Quentin D.
Âge : 25
Localisation : France, Moselle (Lorraine)

Informations professionnelles :
Activité : Étudiant
Secteur : Finance

Informations forums :
Inscription : avril 2011
Messages : 175
Points : 165
Points : 165
Super, ça fonctionne ^^!

Merci encore !
Nitromard est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h58.


 
 
 
 
Partenaires

Hébergement Web