Récupération d'un texte à insérer dans le corps d'un mail
mimi_939
Messages postés50Date d'inscriptionvendredi 31 décembre 2004StatutMembreDernière intervention 3 août 2007
-
2 août 2007 à 09:29
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 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.
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 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]
mimi_939
Messages postés50Date d'inscriptionvendredi 31 décembre 2004StatutMembreDerniè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 ?
mimi_939
Messages postés50Date d'inscriptionvendredi 31 décembre 2004StatutMembreDerniè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
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 = "...." ?
mimi_939
Messages postés50Date d'inscriptionvendredi 31 décembre 2004StatutMembreDerniè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