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 Access Discussion :

Enregistrer les pièces jointes Outlook Express


Sujet :

VBA Access

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    157
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 157
    Points : 81
    Points
    81
    Par défaut Enregistrer les pièces jointes Outlook Express
    Bonjour,

    Ma question première est : existe-il une différence importante entre Outlook et outlook Express ?

    J'ai un bout de code (voir ci dessous) qui est cessé enregistrer les pièces jointes de outlook. Je dois utiliser outlook express, et quand j'utilise ce code dans un module access 2003, il ouvre bien outlook express mais il ne fait aucune action d'enregistrement.

    Est-ce nomal docteur ??
    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
    Sub SaveAttachments(strPath As String)
        Dim Ol_App As New Outlook.Application
        Dim Ol_MAPI As Outlook.NameSpace
        Dim Ol_Items As Outlook.Items
        Dim Ol_Item As Outlook.MailItem
        '
        Dim strAttachment As String
        Dim NbAttachments As Integer
        Dim i As Integer
        Dim NbEmails As Integer
        '
        Set Ol_MAPI = Ol_App.GetNamespace("MAPI")
        Set Ol_Items = Ol_MAPI.PickFolder.Items
        '
        For Each Ol_Item In Ol_Items
            NbAttachments = Ol_Item.Attachments.Count
            i = 1
            Do While i <= NbAttachments
                strAttachment = Ol_Item.Attachments.Item(i).FileName
                Ol_Item.Attachments.Item(i).SaveAsFile strPath & strAttachment
                i = i + 1
            Loop
        Next Ol_Item
        '
        Set Ol_Item = Nothing
        Set Ol_Items = Nothing
        Set Ol_MAPI = Nothing
        Set Ol_App = Nothing
    End Sub

  2. #2
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 123
    Points : 12 172
    Points
    12 172
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    Je pense très certainement que strPath n'existe pas au moment de l'exécution...
    Tu peux greffer dans ton code un bloc comme ceci par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        If Dir(strPath, 16) = "" Then
            MsgBox "Le dossier '" & strPath & "' doit exister si vous voulez y déposer les pièces jointes !", vbExclamation
            Exit Sub
        End If
    juste après les déclarations...

    Argy

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    157
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 157
    Points : 81
    Points
    81
    Par défaut
    J'ai intégré ton bloc, mais le résultat reste inchangé

    En fait il ne me donne aucun msg d'erreur, il ne fait tout simplement rien ...

    à part me demander de sélectionner un folder dans une liste de répertoires Outlook

  4. #4
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 123
    Points : 12 172
    Points
    12 172
    Billets dans le blog
    5
    Par défaut
    Et au pas à pas (F8)... Qu'est ce que ça donne ?
    Est-ce que ton dossier cible existe ?

    Vois-tu réellement le nom du fichier correspondant à la pièce jointe pour un Item donné ?

    Ici, ça marche très bien donc tu as quelque chose qui ne vas pas chez toi....

    Argy

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    157
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 157
    Points : 81
    Points
    81
    Par défaut
    Salut,
    Désolé pour le temps de réaction, mais ici en plus du boulot il y a le boulot ...

    J'ai bien testé avec F8 mais à ce niveau-ci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     For Each Ol_Item In Ol_Items
    Il m'indique que
    Ol_Item = nothing
    Y aurait-t-il une diff entre Outlook et Outlook express ??

  6. #6
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 123
    Points : 12 172
    Points
    12 172
    Billets dans le blog
    5
    Par défaut
    Oui il y a une différence entre OE et Outlook.
    Outlook Express ne supporte pas les appel via automation et les message sont stockés dans des fichiers DBX.
    Il n'est donc pas possible d'exploiter ta procédure et le fait d'avoir un Nothing est justifié.

    Il faut donc extraire tes pièces jointes par un autre procédé que je ne connais pas, humm, je n'ai pas cherché,
    mais tu dois décortiquer les fichiers dbx qui se situent en général dans :
    $UserName$\Local Settings\Application Data\Identities\{8CC9528D-03C0-46EB-A415A00FF186CA255}\Microsoft\Outlook Express
    où un fichier dbx représente un dossier et tout son contenu.

    Argy

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    157
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 157
    Points : 81
    Points
    81
    Par défaut
    Oké oké,

    Merci pour l'info, je vais chercher dans cette direction.

    Les soirées d'hiver sont longues, j'ai maintenant de quoi les occuper.

    @+

Discussions similaires

  1. [OL-2010] Enregistrer les pièces jointes et les supprimer : conflit de mail
    Par illight dans le forum VBA Outlook
    Réponses: 8
    Dernier message: 22/05/2015, 11h24
  2. Réponses: 2
    Dernier message: 27/01/2015, 19h02
  3. Réponses: 0
    Dernier message: 18/01/2015, 11h59
  4. Réponses: 0
    Dernier message: 21/11/2012, 17h52
  5. enregistrer les pièces jointes outlook selon un objet
    Par tibofo dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 08/05/2009, 18h02

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