Récupération d'un texte à insérer dans le corps d'un mail

mimi_939 Messages postés 50 Date d'inscription vendredi 31 décembre 2004 Statut Membre Dernière intervention 3 août 2007 - 2 août 2007 à 09:29
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 - 3 août 2007 à 00:15
Bonjour,

je suis en train de créer une macro qui prépare automatiquement des mails.
En ce qui concerne l'insertion des adresses des destinataires, des copie, ... le sujet, il n'y a pas de problème. Seulement, je voudrais également insérer un texte, préparé sous word, dans le corps du message.
Pour cela, dans ma feuille Excel, j'ai créer un lien hypertexte vers le fichier word mais je ne sais pas comment faire pour l'insertion automatique.

Merci d'avance pour votre aide. 

9 réponses

jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
2 août 2007 à 09:36
Salut,
pilote Word depuis Excel pour aller récupérer le Corps du document pour ensuite l'insérer dans le coprs.

@+: Ju£i?n
Pensez: Réponse acceptée
0
mimi_939 Messages postés 50 Date d'inscription vendredi 31 décembre 2004 Statut Membre Dernière intervention 3 août 2007
2 août 2007 à 09:46
Merci pour l'info,
mais je suis complètement débutante dans le domaine, pourrais tu me donner plus de précisions.

Merci encore.
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
2 août 2007 à 09:57
Salut,
Le code suivant devrait récupérer le contenu du fichier "C:\Test.Doc"

'Ajoute en référence à ton projet VBA
'Dans l'IDE VBA Menu Outils => Référence => Microsoft Word 9.0 Object Library
'9.0 ou équivalent
Dim WApp As New Word.Application
Dim Contenu As String
Dim WDoc As Word.Document
   
   'Ouverture de C:\Test.Doc
   Set WDoc = WApp.Documents.Open("C:\Test.doc")
   'Selection de tout le contenu du document
   Call WApp.Selection.WholeStory
   'récupération du contenu
   Contenu = WApp.Selection
   'Affichage du contenu
   MsgBox Contenu
   'Fermeture du Document sans sauver
   Call WDoc.Close(False)
   'Quitte Word.
   Call WApp.Quit, ----
[code.aspx?ID=41455 By Renfield]

@+: Ju£i?n
Pensez: Réponse acceptée
0
mimi_939 Messages postés 50 Date d'inscription vendredi 31 décembre 2004 Statut Membre Dernière intervention 3 août 2007
2 août 2007 à 10:30
Y aurait-il un moyen que la recopie du message conserve sa mise en page ?
Parce que là tout le texte est collé.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mimi_939 Messages postés 50 Date d'inscription vendredi 31 décembre 2004 Statut Membre Dernière intervention 3 août 2007
2 août 2007 à 11:06
Si je veux conserver la même procédure, serait-il possible de copier le texte du doc. Word et de le coller dans le mail Outlook, ainsi la mise en page serait conservée ?

Merci
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
2 août 2007 à 11:41
Essaie en utilisant
MonMailItem.HTMLBody = "...."
au lieu de
MonMailItem. Body = "...."

MPi
0
mimi_939 Messages postés 50 Date d'inscription vendredi 31 décembre 2004 Statut Membre Dernière intervention 3 août 2007
2 août 2007 à 13:47
    Voila mon code :
   
   sujet = "Tableau de Bord : " & Range("C" & Selection.Row).Value
    HyperLien = "mailto:" & adresse & "?"
    ' Le ? introduit les arguments tandis que le & sépare les arguments et les concatène
    HyperLien = HyperLien & "Subject=" & sujet
   
    'Ouverture de Texte_Diffusion.doc
    Set WDoc = WApp.Documents.Open("S:\DCG\_Commun\Plan Qualité CdG\Suivi des Etats\Texte_Diffusion.doc")
    'Selection de tout le contenu du document
    Call WApp.Selection.WholeStory
    'récupération du contenu
    corps = WApp.Selection
    'Fermeture du Document sans sauver
    Call WDoc.Close(False)
    'Quitte Word.
    Call WApp.Quit
 
    HyperLien = HyperLien & "&Body=" & corps
    HyperLien = HyperLien & "&Cc=" & adrCopies
    ActiveWorkbook.FollowHyperlink HyperLien

Avec ce code, la préparation du mail marche mais le corps du message ne conserve pas la mise en page du document word.
Je ne vois pas très bien à quel moment, je dois utiliser :
MonMailItem. HTMLBody = "...." ?
0
mimi_939 Messages postés 50 Date d'inscription vendredi 31 décembre 2004 Statut Membre Dernière intervention 3 août 2007
2 août 2007 à 14:28
    sujet = "Tableau de Bord : " & Range("C" & Selection.Row).Value
    HyperLien = "mailto:" & adresse & "?"
    ' Le ? introduit les arguments tandis que le & sépare les arguments et les concatène
    HyperLien = HyperLien & "Subject=" & sujet
   
    'Ouverture de Texte_Diffusion.doc
    Set WDoc = WApp.Documents.Open("S:\DCG\_Commun\Plan Qualité CdG\Suivi des Etats\Texte_Diffusion.doc")
    'Selection de tout le contenu du document
    Call WApp.Selection.WholeStory
    'récupération du contenu
    corps = WApp.Selection
    'Fermeture du Document sans sauver
    Call WDoc.Close(False)
    'Quitte Word.
    Call WApp.Quit
 
    HyperLien = HyperLien & "&Body=" & corps
    HyperLien = HyperLien & "&Cc=" & adrCopies
    ActiveWorkbook.FollowHyperlink HyperLien
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
3 août 2007 à 00:15
Oublie ce que j'ai dit...
Je pensais que tu utilisais Outlook en tant qu'objet.
HTMLBody est une fonctionnalité de l'objet MailItem d'Outlook...

MPi
0
Rejoignez-nous