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 :

Ajout pièce jointe


Sujet :

VBA Outlook

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

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3
    Points : 3
    Points
    3
    Par défaut Ajout pièce jointe
    Bonjour,

    Je dois réaliser un envoi de mail grâce au publipostage (Word 2003) ET ces mails doivent contenir une PJ.
    A l'issue du publipostage, j'ai bien tous les mails dans la boîte d'envoi d'Outlook. J'ai donc essayé de créer une macro qui ajoute la même PJ à chacun, sans succès...

    J'utilise ponctuellement vba avec Word ou Excel, sans trop de souci, mais sous Outlook c'est la 1ère fois et j'ai galéré toute la soirée là-dessus :
    lors de mes tests je suis parvenu à créer une procédure qui liste tous les mails de ma boîte d'envoi, et j'arrive par exemple à récupérer l'email du destinataire avec .TO ou bien l'objet avec .Subject
    Je pensais pouvoir ajouter une PJ avec .Attachments.Add "chemin" mais ça ne fonctionne pas.

    Si quelqu'un peut m'indiquer la méthode à utiliser...
    MERCI d'avance

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour et bienvenue sur le forum Office de DVP.

    Peux-tu expliquer ce que tu as déjà fait (code à l'appui), en fonction de cela, les membres pourraient t'aider plus facilement en t'expliquant comment compléter ton code.

    Philippe

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

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    Bonjour,

    Voici donc le dernier code que j'ai testé :

    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
    Sub test()
    Dim Myolapp As New Outlook.Application
    Dim MySpace As Outlook.NameSpace
    Dim MyFolder As Outlook.MAPIFolder, MySubFold As Outlook.MAPIFolder
    Dim MyMail As Object
     
        Set Myolapp = CreateObject("Outlook.Application")
        Set MySpace = Myolapp.GetNamespace("MAPI")
        Set MyFolder = MySpace.Folders("Dossiers Personnels")
        Set MySubFold = MyFolder.Folders("Boîte d'envoi")
     
        'parcourt tout les mails de la boîte d'envoi
        For Each MyMail In MySubFold.Items
            'pour vérifier que chaque mail est bien trouvé
            MsgBox (MyMail.Subject) 'Subject=objet
            MsgBox (MyMail.To) 'To=a, Bcc=cci, Cc=cc
     
            'Pour ajouter la PJ... ne génère pas d'erreur mais ne fonctionne pas
            Set myattachments = MyMail.Attachments
            myattachments.Add "E:\PJtest.txt"
     
        Next
     
    End Sub
    Merci de votre aide

  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,
    Essayes en ajoutant
    il faut sans doute aussi renvoyer le mail avec
    Sinon il faut intercepter avec l'evenement Application_ItemSend
    le mail créé par WORD et y ajouter la PJ

    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
    Private Sub Application_ItemSend(ByVal Item As Object, Cancel As _
    Boolean)
    'by oliv' 05/02/2007 Pour publipostage avec PJ OUTLOOK 2003
     
    If Item.Class = olMail Then
    Dim objCurrentMessage As MailItem
    Set objCurrentMessage = Item
    If UCase(objCurrentMessage.Subject) Like "*PUBLIPOSTAGE*" Then
    On Error Resume Next    
     
    'Pour ajouter une PJ à tous décommenter
           objCurrentMessage.Attachments.Add Source:= _
            "c:\temp\DOC2.PDF"
        '#perso#Pour ajouter un document personnalisé d'après le destinataire _
         du mail décommenter ci-dessous
        ' ici le nom du document est "destinataire@domaine.fr.doc"
        'docperso = "c:\temp\monmailing\" & objCurrentMessage.To & ". _
    doc"
        'objCurrentMessage.Attachments.Add Source:=docperso
     
        'On supprime le terme PUBLIPOSTAGE du sujet
        objCurrentMessage.Subject = Replace(objCurrentMessage.Subject, _
        "PUBLIPOSTAGE ", "")
        'On sauvegarde le mail
        objCurrentMessage.Save
        End If
    Set objCurrentMessage = Nothing
    End If
    End Sub

Discussions similaires

  1. [OL-2010] Ajouter pièce jointe automatiquement (Macro)
    Par masterp51 dans le forum VBA Outlook
    Réponses: 19
    Dernier message: 03/12/2015, 11h53
  2. [OL-2010] appel logiciel au clik sur ajout pièce jointe
    Par chewby79 dans le forum Outlook
    Réponses: 3
    Dernier message: 19/07/2012, 10h45
  3. [SP-2007] Ajouter "Pièce jointe" à un type de contenu perso
    Par bob633 dans le forum SharePoint
    Réponses: 3
    Dernier message: 15/04/2011, 11h32
  4. [XL-2007] Ajouter pièce jointe au mail
    Par malababar dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 27/10/2010, 09h32
  5. Ajouter des pièces pièces jointes à un message Mail
    Par skywaukers dans le forum Web & réseau
    Réponses: 4
    Dernier message: 05/10/2005, 10h00

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