IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Outlook Discussion :

Accéder aux repertoires d'une archive (.pst) [OL-2007]


Sujet :

VBA Outlook

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 14
    Points : 15
    Points
    15
    Par défaut Accéder aux repertoires d'une archive (.pst)
    Bonsoir à tous,

    Après quelques recherches je ne suis pas arrivé à trouver une réponse à mon problème et je connais peu Outlook

    J'utilise OL2007, j'ai une archive archive1.pst enregistrée dans le dossier c:\users\.....\Outlook, cette archive contient un dossier dossier1 et je souhaiterais pouvoir boucler sur tout les mails présents dans ce dossier afin de récupérer les infos date denvoi, expéditeur, etc...

    Hors tout ce que j'ai pu voir concerne la boite de réception par défaut (olFolderInbox).

    Je cherche donc la ligne de code me permettant d'accéder à un répertoire d'un fichier .pst autre que celui ouvert par défaut

    Merci d'avance pour toutes vos pistes

    Beren

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 14
    Points : 15
    Points
    15
    Par défaut
    Bon j'ai un peu avancé, j'arrive à boucler sur les repertoires de mon archive
    mais je ne comprend pas tout encore (notamment le GetLast)

    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
    16
    17
    18
    19
    20
     
    Dim ObjOutlook As Outlook.Application
    Dim ObjNameSpace As Outlook.NameSpace
    Dim ColjFolder As Outlook.Folder
    Dim ObjFolder As Outlook.MAPIFolder
    Dim fld As Outlook.MAPIFolder
     
    Dim strPathArchive As String
    strPathArchive = "c:\users\OX1155\AppData\Local\Microsoft\Outlook\archive_novembre_2012.pst"
     
    Set ObjOutlook = Outlook.Application
    Set ObjNameSpace = ObjOutlook.GetNamespace("MAPI")
    ObjNameSpace.AddStore (strPathArchive)
     
    Set ObjFolder = ObjNameSpace.Folders.GetLast
     
     
    For Each fld In ObjFolder.Folders
        MsgBox fld.Name
    Next

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 14
    Points : 15
    Points
    15
    Par défaut
    Bon je ne dis pas que c'est le top ou le plus propre
    strPathArchive donne le chemin de l'archive, je boucle sur les repertoires je teste le nom pour savoir si je suis sur le bon puis je vais dans les sous répertoires, ensuite je peux boucler sur les mails.
    Problème ce que je cherchais c'est l'adresse mail du destinataire avec le domaine et là je ne trouve pas la propriété qui va bien

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     
    Dim ObjOutlook As Outlook.Application
    Dim ObjNameSpace As Outlook.NameSpace
    Dim ColjFolder As Outlook.Folder
    Dim ObjFolder As Outlook.MAPIFolder
    Dim fld As Outlook.MAPIFolder
    Dim sousFld As Outlook.MAPIFolder
    Dim ObjMail As Outlook.MailItem
     
    Dim strPathArchive As String
    strPathArchive = "c:\users\OX1155\AppData\Local\Microsoft\Outlook\archive_novembre_2012.pst"
     
    Set ObjOutlook = Outlook.Application
    Set ObjNameSpace = ObjOutlook.GetNamespace("MAPI")
    ObjNameSpace.AddStore (strPathArchive)
     
    Set ObjFolder = ObjNameSpace.Folders.GetLast
     
     
     
    For Each fld In ObjFolder.Folders
        If fld.Name = "MAILS" Then
            Set sousFld = fld.Folders("SOUS_DOSSIER").Folders("SOUS_SOUS_DOSSIER")
                For Each ObjMail In sousFld.Items
                    Debug.Print ObjMail.To
                    Debug.Print ObjMail.ReceivedByName
                    Debug.Print ObjMail.ReceivedOnBehalfOfName
                Next
        End If
    Next

  4. #4
    Expert éminent
    Avatar de Oliv-
    Homme Profil pro
    solution provider
    Inscrit en
    Mars 2006
    Messages
    4 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : Mars 2006
    Messages : 4 087
    Points : 7 168
    Points
    7 168
    Billets dans le blog
    20
    Par défaut
    salut,
    il faut parcourir la collection .Recipients

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    dim Destinataire 
    For Each ObjMail In sousFld.Items
     
         For Each Destinataire In ObjMail.Recipients
            MsgBox Destinataire
            MsgBox Destinataire.Address
     
         Next Destinataire
                Next

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Accéder aux ressources d'une archive
    Par xokami35x dans le forum Langage
    Réponses: 4
    Dernier message: 07/11/2009, 18h10
  2. Réponses: 7
    Dernier message: 30/03/2006, 10h04
  3. accéder aux colonnes d'une table différemment
    Par fab_hendrix dans le forum Langage SQL
    Réponses: 3
    Dernier message: 06/08/2005, 19h20
  4. Réponses: 4
    Dernier message: 28/03/2005, 12h37
  5. Réponses: 9
    Dernier message: 03/12/2004, 11h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo