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 :

Outlook 2010 - Extraire et renommer pièces jointes


Sujet :

VBA Outlook

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Janvier 2017
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Janvier 2017
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Outlook 2010 - Extraire et renommer pièces jointes
    Bonjour,
    Mon but est d'extraire les pièces jointes de mes courriers Emails et de les mettre dans un dossier spécifique sur mon DDur.
    Ce sujet ayant déjà été traité, j'ai pu récupérer le code ci-dessous et cela fonctionne très bien quand les pièces jointes portent des noms différents.
    Le problème est que lorsque les pièces jointes (xxx.jpg par exemple) portent toutes le même nom, je ne récupère que la dernière, les autres se trouvant écrasées par celle-ci.
    Ayant très peu de connaissances en VBA, je ne parviens pas à modifier le code pour que mes pièces jointes soient renommées, par exemple grâce à la date et l'heure du document qui la contient, ou autre système.
    Je précise que l'expéditeur est aussi toujours le même (Logiciel de sécurité).
    Si vous pouvez m'aider, je vous en remercie à l'avance.
    Michel
    _______________________________________________

    Sub SavePhotosPJ()

    'Declaration
    Dim myItems, myItem, myAttachments, myAttachment As Object
    Dim myOrt As String
    Dim myOlApp As New Outlook.Application
    Dim myOlExp As Outlook.Explorer
    Dim myOlSel As Outlook.Selection
    Dim i As Integer

    'Boîte de dialogue simple pour le chemin de sauvegarde
    myOrt = InputBox("Destination", "Save Attachments", "E:\_-Photos\_Camerassecurite\")

    On Error Resume Next

    'Actions sur les objets sélectionnés
    Set myOlExp = myOlApp.ActiveExplorer
    Set myOlSel = myOlExp.Selection

    'boucle
    For Each myItem In myOlSel
    Set myAttachments = myItem.Attachments
    If myAttachments.Count > 0 Then
    'Ajoute une remarque dans le corps du message
    myItem.Body = myItem.Body & vbCrLf & _
    "Pièces jointes copiées:" & vbCrLf

    'for all attachments do...
    For i = 1 To myAttachments.Count

    'save them to destination
    myAttachments(i).SaveAsFile myOrt & _
    myAttachments(i).DisplayName
    myItem.Body = myItem.Body & _
    "File: " & myOrt & _
    myAttachments(i).DisplayName & vbCrLf

    Next i

    'Enlève les pièces jointes du message
    'While myAttachments.Count > 0

    'myAttachments(1).Delete

    'Wend

    'Sauvegarde le message sans ses pièces jointes
    myItem.Save
    End If

    Next

    Set myItems = Nothing
    Set myItem = Nothing
    Set myAttachments = Nothing
    Set myAttachment = Nothing
    Set myOlApp = Nothing
    Set myOlExp = Nothing
    Set myOlSel = Nothing

    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,
    regarde cet exemple au niveau de PathNomExport ...

    http://www.developpez.net/forums/blo...yperlien-mail/

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Janvier 2017
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Janvier 2017
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Je ne m'en sors pas...
    Citation Envoyé par Oliv- Voir le message
    Bonjour,
    regarde cet exemple au niveau de PathNomExport ...

    http://www.developpez.net/forums/blo...yperlien-mail/
    Merci, c'est sympa.
    J'ai beau relire le code dans tous les sens, je ne parviens pas à utiliser ce qui concerne PathNomExport et à l'adapter dans mon code existant.
    Je suis loin d'avoir le niveau nécessaire.
    Merci en tout cas de ton aide.
    Je vais continuer à fouiller, c'est un peu comme ça qu'on apprends.
    Merci encore.

  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
    Bonjour,

    En utilisant mon programme (lien précédent)

    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
    Sub Lance_Export_PJ_sur_selection()
        Dim MonOutlook As Outlook.Application
        Dim mail As Object
        Dim LeMail As Outlook.MailItem
        Dim LesMails As Object
        Set MonOutlook = Outlook.Application
        Set LesMails = MonOutlook.ActiveExplorer.Selection
     
        Dim DossierExport
        DossierExport = InputBox("Destination", "Save Attachments", "E:\_-Photos\_Camerassecurite\")
        For Each LeMail In LesMails
            If LeMail.Class = olMail Then
                Call ExportSuppression_PJ_v2(myMail:=LeMail, Export:=True, Supp:=False, SuppEmbedded:=False, DirExport:=DossierExport & "\", Deplace:=False, DossierMove:="", BodyWrite:=True)
     
            End If
     
        Next LeMail
     
        Set LesMails = Nothing
     
    End Sub

Discussions similaires

  1. [OL-2010] Extraire et dézipper pièces jointes
    Par Benoit50 dans le forum VBA Outlook
    Réponses: 18
    Dernier message: 18/12/2015, 15h24
  2. Réponses: 1
    Dernier message: 06/11/2015, 15h10
  3. [XL-2010] Faire un historique d'email Outlook sous Excel + sauvegarde de pièces jointes
    Par ozone083 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 03/11/2015, 14h17
  4. [OL-2010] Extraire une seule pièce jointe en pdf et changer son nom
    Par cointel dans le forum VBA Outlook
    Réponses: 1
    Dernier message: 28/12/2014, 02h42
  5. [D6-Outlook] Envoi d'email avec pièces jointes
    Par pepito62 dans le forum Web & réseau
    Réponses: 2
    Dernier message: 23/06/2010, 18h09

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