Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Outlook > VBA Outlook
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 15/01/2008, 16h46   #1
Invité de passage
 
Inscription : janvier 2008
Messages : 3
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 3
Points : 0
Points : 0
Par défaut Comment récupérer le compte d'un MailItem ?

Bonjour

Je dois récupérer par programmation la liste des dossiers d'Entourage contenant des emails d'un compte précis.
Plusieurs comptes POP3 et IMAP sont définis dans Entourage et je souhaite établir la liste des dossiers ayant des mails de l'un de ces comptes.
Or, je ne vois aucun moyen de voir sur quel compte est arrivé un email (la classe "MailItem" n'a pas de propriété "Account").

J'avais alors pensé utiliser l'adresse email liée au compte, mais là non plus, je ne vois pas de propriété du genre emailAddress dans la classe Account.
Merci de vos lumières.
Véhem est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/01/2008, 18h02   #2
Rédacteur/Modérateur
 
Avatar de Dolphy35
 
Homme Morgan BILLY
Technicien de Production
Inscription : octobre 2004
Messages : 4 106
Détails du profil
Informations personnelles :
Nom : Homme Morgan BILLY
Âge : 33
Localisation : France, Ille et Vilaine (Bretagne)

Informations professionnelles :
Activité : Technicien de Production
Secteur : Industrie

Informations forums :
Inscription : octobre 2004
Messages : 4 106
Points : 8 745
Points : 8 745
Salut,

en reprenant le code d'Heureux-oli:
Comment parcourir les messages présents dans la boîte de réception ?

tu peux récupérer l'adresse au quel le mail a été envoyé :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Sub ParcourirInBox()
    Dim oMail As MailItem
    Dim myFolder As Folder
    Dim myOlApp As Outlook.Application
    Dim myNamespace As NameSpace
 
 
    Set myOlApp = Outlook.Application
    Set myNamespace = myOlApp.GetNamespace("MAPI")
    Set myFolder = myNamespace.GetDefaultFolder(olFolderInbox)
    For Each oMail In myFolder.Items
        Debug.Print oMail.ReceivedByName
    Next oMail
End Sub

Dolphy
__________________
Personnaliser la vue Backstage d'Access 2010
Découvrez avec nous Office 2010
Je ne réponds pas aux questions techniques par MP
Dolphy35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/01/2008, 18h37   #3
Invité de passage
 
Inscription : janvier 2008
Messages : 3
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 3
Points : 0
Points : 0
Merci, je teste ce mercredi.
Mais alors, comment récupérer l'adresse email liée au compte ?
Véhem est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/01/2008, 19h12   #4
Rédacteur/Modérateur
 
Avatar de Dolphy35
 
Homme Morgan BILLY
Technicien de Production
Inscription : octobre 2004
Messages : 4 106
Détails du profil
Informations personnelles :
Nom : Homme Morgan BILLY
Âge : 33
Localisation : France, Ille et Vilaine (Bretagne)

Informations professionnelles :
Activité : Technicien de Production
Secteur : Industrie

Informations forums :
Inscription : octobre 2004
Messages : 4 106
Points : 8 745
Points : 8 745
re,

Citation:
Envoyé par Véhem Voir le message
Merci, je teste ce mercredi.
Mais alors, comment récupérer l'adresse email liée au compte ?

il suffit d'utiliser d'autres propriétés de l'objet MailItem :

SendUsingAccount => Renvoie ou définit un objet Account qui représente le compte sous lequel MailItem doit être envoyé. En lecture/écriture. dispo sur Ol2007
ReceivedByName => Renvoie une valeur de type String qui représente le nom complet du vrai destinataire du message électronique. Lecture seule.
SenderEmailAddress => Renvoie une valeur de type String représentant l'adresse de messagerie de l'expéditeur de l'élément Outlook. Lecture seule.
SenderName => Renvoie une valeur de type String indiquant le nom complet de l'expéditeur de l'élément Outlook. Lecture seule.
SenderEmailType => Renvoie une valeur de type String représentant le type d'entrée correspondant à l'adresse de messagerie de l'expéditeur de l'élément Outlook, par exemple, une adresse Internet « SMTP », la chaîne « EX » pour une adresse serveur Microsoft Exchange, etc. Lecture seule.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Sub ParcourirInBox()
    Dim oMail As MailItem
    Dim myFolder As Folder
    Dim myOlApp As Outlook.Application
    Dim myNamespace As NameSpace
 
 
    Set myOlApp = Outlook.Application
    Set myNamespace = myOlApp.GetNamespace("MAPI")
    Set myFolder = myNamespace.GetDefaultFolder(olFolderInbox)
    For Each oMail In myFolder.Items
        'SendUsingAccount => Outlook 2007
        Debug.Print "Compte : " & oMail.SendUsingAccount & " - " & "Destinataire : " & oMail.ReceivedByName & " - " & _
        "Email Expéditeur :" & oMail.SenderEmailAddress & " - " & "NomExpéditeur : " & oMail.SenderName & " - " & _
        "Type : " & oMail.SenderEmailType
    Next oMail
End Sub

Dolphy
__________________
Personnaliser la vue Backstage d'Access 2010
Découvrez avec nous Office 2010
Je ne réponds pas aux questions techniques par MP
Dolphy35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/01/2008, 09h43   #5
Invité de passage
 
Inscription : janvier 2008
Messages : 3
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 3
Points : 0
Points : 0
SendUsingAccount n'est valorisé que pour les mails envoyés, pas pour les mails reçus.
Il n'y a pas de propriété du genre SentToAccount.....

Dans la classe Account, il n'y a pas de propriété emailAddress. En plus, si je veux accéder à UserName, j'ai un message de Win demandant s'il doit bien donner accès à cette donnée. Sécurité, sécurité.....

Donc, en résumant, il semble qu'il soit impossible de sélectionner un compte, d'en récupérer l'adresse email associée puis de scanner les emails pour voir ceux qui ont été émis vers ce compte.
Il faut saisir directement l'adresse email et ne pas prendre en compte...les comptes. C'est un peu bête ça.
Véhem est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h03.


 
 
 
 
Partenaires

Hébergement Web