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 :

Macro Outlook pour enregistrer pièce jointe et supprimer mail [Débutant(e)]


Sujet :

VBA Outlook

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Macro Outlook pour enregistrer pièce jointe et supprimer mail
    Bonjour, je suis tout à fait novice en développement et après avoir parcouru quelques forums j'ai réussi à trouver comment faire fonctionner une macro.
    Sauf que celle ci ne répond pas totalement à mes attentes.
    je suis certains que l'un d'entre vous pourra me dépanner en 1 minute

    Problème :
    Sous Outlook 2007, je souhaiterais avoir une macro qui permettent d'enregistrer toutes les pièces jointes d'une sélection de mail puis de supprimer ces mails.

    J'ai trouvé cette macro qui fonctionne bien, sauf qu'elle supprime les pièces jointes au lieu du mail et rajoute un texte dans le corps du mail.

    Sub SaveAttachment()

    '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", "C:\CdeDELL\Facture\")

    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èce jointe enlevée:" & 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
    Membre expert

    Homme Profil pro
    Spécialiste progiciel
    Inscrit en
    Février 2010
    Messages
    1 747
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Haute Loire (Auvergne)

    Informations professionnelles :
    Activité : Spécialiste progiciel
    Secteur : Service public

    Informations forums :
    Inscription : Février 2010
    Messages : 1 747
    Points : 3 016
    Points
    3 016
    Par défaut
    Bonjour,

    Pour supprimer le message, il suffit d'utiliser
    à la place de myItem.save (qui sauvegarde le message)

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Merci Christophe

    Maintenant, j'aimerai savoir s'il est possible d'effectuer dans cette macro une autre opération :

    En gros, ce sont des factures que je vais recevoir par email.
    les fichier PDF ont pour nom de facture le N° de la facture.
    J'aimerai pouvoir enregistrer ces facture en rajoutant devant ce numéro de facture, mon numéro de bon de commande...
    ce numéro de bon de commande est donné dans le corps du mail.
    - Le corps du mail est toujours identique, sauf pour ces variables.

    Disons que dans le corps du mail j'ai toujours une ligne :
    Bon de commande 0006990X00007
    Où bien évidement, le numéro de bon de commande change.

    j'aimerai pouvoir faire en sorte que le nom de fichier enregistré soit :
    "0006990X00007 - Nom du fichier initial.pdf


    Est-ce possible?

    merci d'avance

Discussions similaires

  1. Content-type pour une pièce jointe dans un mail
    Par rcjcrcjc dans le forum Langage
    Réponses: 2
    Dernier message: 14/10/2009, 18h51
  2. Réponses: 3
    Dernier message: 26/11/2008, 18h00
  3. [JavaMail][MIME] Enregistrer pièces jointes
    Par Julaie95 dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 20/07/2006, 11h04

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