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

Outlook Discussion :

Comment récupérer l'extension .msg quand un mail est en pièce jointe d'un mail?


Sujet :

Outlook

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Mai 2016
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet MOA

    Informations forums :
    Inscription : Mai 2016
    Messages : 29
    Points : 8
    Points
    8
    Par défaut Comment récupérer l'extension .msg quand un mail est en pièce jointe d'un mail?
    Bonjour,


    Je souhaite sauvegarder dans un répertoire Windows choisi les mails sélectionnés avec leurs pièces jointes dégroupées.

    Le code ci-dessous fonctionne très bien mais lorsque la pièce jointe est un mail l'extension .msg n'est pas véhiculée contrairement aux autres extensions telles que .pdf .ppt .doc

    Une idée pour faire en sorte que l'extension .msg soit prise en compte ?

    cf code en bleu

    Merci.

    Code VBA : 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
    31
    32
    33
    34
    35
    36
    37
    Sub LanceSurSelection()
    Dim MonOutlook As Outlook.Application
    Dim LeMail As Object
    Dim LesMails As Outlook.Selection
    Dim Repertoire As String
    Dim i As Integer
    
    i = 0
    Repertoire = ChoixDossierFichier(0)
    If Repertoire = "" Then Exit Sub
    
    Set MonOutlook = Outlook.Application
     
    Set LesMails = MonOutlook.ActiveExplorer.Selection
     
        For Each LeMail In LesMails
         Call sav_mail_as_msg(Repertoire, LeMail)
         Set attachs = LeMail.Attachments
         For Each Attach In attachs
           Attach.SaveAsFile Repertoire & Attach '<=== Repertoire correspond au dossier dans lequel le mail et les pièces jointes associées seront enregistrés
         Next
         Set attachs = Nothing
         i = i + 1
        Next LeMail
     
    Set LesMails = Nothing
      
    Select Case i
        Case 0
            MsgBox "Aucun mail exporté"
        Case 1
            MsgBox "1 mail exporté dans : " & Repertoire
        Case Else
            MsgBox i & " mails exportés dans : " & Repertoire
    End Select
      
    End Sub

  2. #2
    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
    Bonjour,
    il faut utiliser la propriété "FileName " de attachment
    .FileName : "TR Renfort sécurité.msg" : String

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Mai 2016
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet MOA

    Informations forums :
    Inscription : Mai 2016
    Messages : 29
    Points : 8
    Points
    8
    Par défaut
    Super, ça marche nickel.

    Par contre, je souhaiterais aussi dégrouper les PJ du mail en PJ du mail. Un truc récursif du genre :

    Code VBA : 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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    Sub LanceSurSelection()
    Dim MonOutlook As Outlook.Application
    Dim LeMail As Object
    Dim LesMails As Outlook.Selection
    Dim Repertoire As String
    Dim i As Integer
    
    i = 0
    Repertoire = ChoixDossierFichier(0)
    If Repertoire = "" Then Exit Sub
    
    Set MonOutlook = Outlook.Application
     
    Set LesMails = MonOutlook.ActiveExplorer.Selection
     
        For Each LeMail In LesMails
         Call sav_mail_as_msg(Repertoire, LeMail)
         Set attachs = LeMail.Attachments
         For Each Attach In attachs
            If attach.Type = 5 Then
               Call Degrouper(attach?, Repertoire) '<=== si la pièce jointe est un mail alors dégrouper le mail : sauvegarder le mail en pj + ses pj
            Else: attach.SaveAsFile Repertoire & attach.FileName '<=== c:\ correspond au dossier dans lequel vous voulez sauvegarder les pièces jointes
            End If
         Next
         Set attachs = Nothing
         i = i + 1
        Next LeMail
     
    Set LesMails = Nothing
      
    Select Case i
        Case 0
            MsgBox "Aucun mail exporté"
        Case 1
            MsgBox "1 mail exporté dans : " & Repertoire
        Case Else
            MsgBox i & " mails exportés dans : " & Repertoire
    End Select
      
    End Sub



    Code VBA : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    Sub Degrouper(LeMail As Object, Repertoire As String)
     
         Call sav_mail_as_msg(Repertoire, LeMail)
         attach.SaveAsFile Repertoire & attach.FileName 
         Set attachs = LeMail.Attachments
         For Each Attach In attachs
            If Attach.Type = 5 Then
            Call Degrouper(Attach, Repertoire)
            Else: Attach.SaveAsFile Repertoire & Attach.FileName '<=== c:\ correspond au dossier dans lequel vous voulez sauvegarder les pièces jointes
            End If
         Next
         Set attachs = Nothing
     
     
    End Sub

  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 effectivement enregistrer la pj "msg" sur le disque puis il faut l'ouvrir avec OpenSharedItem, et traiter ses PJ comme un mail classique.

    http://www.developpez.net/forums/d15...m/#post8406289

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Mai 2016
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet MOA

    Informations forums :
    Inscription : Mai 2016
    Messages : 29
    Points : 8
    Points
    8
    Par défaut
    donc on est obligé de le sauvegarder en dehors d'outlook pour l'ouvrir, pas moyen de l'ouvrir directement ?

  6. #6
    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
    oui

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Mai 2016
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet MOA

    Informations forums :
    Inscription : Mai 2016
    Messages : 29
    Points : 8
    Points
    8
    Par défaut
    ok merci

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

Discussions similaires

  1. [Indy] Comment récupérer les pièces jointes d'un mail ?
    Par dj_lil dans le forum Web & réseau
    Réponses: 6
    Dernier message: 01/04/2011, 19h07
  2. comment récupérer l'extension d'un fichier
    Par nina08 dans le forum Général Python
    Réponses: 7
    Dernier message: 10/08/2008, 07h36
  3. envoie de mail avec en pièce jointe un autre mail
    Par PPLILH2008 dans le forum Outlook
    Réponses: 2
    Dernier message: 21/05/2008, 15h09
  4. [Mail] Récupérer une pièce jointe d'un mail
    Par heddicmi dans le forum Langage
    Réponses: 2
    Dernier message: 22/12/2005, 16h21

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