Bonjour à toutes et à tous,
Pour les besoins du boulot, je dois mettre à disposition des utilisateurs une solution pratique, pour formuler rapidement des réponses aux mails que nous recevons.
Ma première ébauche :
1) J'ai enregistré les réponses types rédigées avec Word en Page Web. J'ai donc pour chaque modèle un fichier .html et un dossier qui comprend des images (logo).
2) J'ai créé la macro :
3) Ce code charge un des fichiers .html précédemment créés dans le corps du mail.
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 Public Sub Test() Dim oMail As Outlook.MailItem Dim oFSO Dim oFS If Application.ActiveExplorer.Selection.Count Then If TypeOf Application.ActiveExplorer.Selection(1) Is Outlook.MailItem Then Set oMail = Application.ActiveExplorer.Selection(1).Reply Set oFSO = CreateObject("Scripting.FileSystemObject") Set oFS = oFSO.OpenTextFile("C:\Documents and Settings\6503038v\Bureau\Outlook2003\TemplateEmail\Test.html") stext = oFS.ReadAll oMail.BodyFormat = olFormatHTML oMail.HTMLBody = stext & vbCr & oMail.HTMLBody oMail.Display End If End If End Sub
4) Le texte du modèle s'affiche bien, mais pas l'image (logo). J'ai une croix rouge dans un rectangle.
Ci-dessous le code html :
On m'a expliqué que concernant l'image, c'est normal car je fais fais un lien vers mon disque dur. Il faut hébergé l'image sur un serveur web.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 <v:image src="Test_fichiers/image001.jpg" o:title="LOGO ACCES PLUS FINAL 031006"/> </v:shape><![endif]--><![if !vml]><IMG height=36 src="Test_fichiers/image002.jpg" width=96
Malheureusement, je ne peux pas adopter cette solution.
Ma seconde ébauche :
J'ai trouvé 2 codes.
Le premier utilise un fichier .oft :
Le second créé un mail de réponse :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Sub CreateFromTemplate() Dim myOlApp As Outlook.Application Dim MyItem As Outlook.MailItem Set myOlApp = CreateObject("Outlook.Application") Set MyItem = myOlApp.CreateItemFromTemplate("C:\Documents and Settings\6503038v\Bureau\RéponsesTypes\CommentBénéficierDuService\CommentBénéficierDuService.oft") MyItem.Display End Sub
J'essaie depuis un moment de "fusionner" les deux, sans succès
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Sub TestReply() Dim OMail As Outlook.MailItem Dim objReplyMail As Outlook.MailItem Set OMail = ActiveExplorer.Selection(1) Set objReplyMail = OMail.Reply objReplyMail.Display End Sub
En fait, je voudrai utiliser le second code en mettant dans le corps du mail de réponse un modèle .oft. Est-ce possible ???
D'avance merci à celles et ceux qui prendront le temps de lire mon message.
Bien cordialement,
Partager