Enr. Word en HTML pour envoi mail : lien image Rompus

Word, PowerPoint, Outlook, Access et tous les autres logiciels de la suite Office (sauf Excel)
l
lexxor
Jeune membre
Jeune membre
Messages : 12
Inscrit le : 9 novembre 2015
Version d'Excel : 2010

Message par lexxor » 28 août 2017, 22:15

Pour moi Simplicité d'utilisation pour les end user ! Pour mon cas, Je développe ce fichier pour le service RH de mon entreprise ! Ils ont 3 mails à envoyer qu'ils personnalisent selon les destinataires et le type de mail (arrivé nouveau collaborateur, départ collaborateur, mail d'information a l'équipe pour préparer l'arrivée d'un nouveau collaborateur). J'utilise excel pour leur offrir la possibilité de tout paramètrer :
- délais pour envoi de mail avant/après arrivé/depart nouveau collaborateur
- objets et PJ des différents mails...
- personnes à mettre en copie selon le mail


Juste un des mails possèdent des images importantes (coordonnées utiles, logo entreprise pour signature). Ce problème remet donc en cause la viabilité de mon programme pour un des 3 mails.

Je reconnais qu'il serait possible de faire la même chose via VBA Outlook mais à mon avis je pourrais leur offrir moins de flexibilité !

Je t'envoie les deux fichiers sources à comparer demain

Bonne soirée !
T
Thihii
Membre fidèle
Membre fidèle
Messages : 155
Inscrit le : 16 août 2016
Version d'Excel : 2010

Message par Thihii » 28 août 2017, 23:34

Bonsoir,

Pour quelles raisons utiliser Outlook pour l'envoie de mail par vba et non pas avec la bibli. CDO ?
Je la trouve très simple, je l'utilise dans des 'applis' depuis des années, sans aucun problèmes en retour... jusqu'à présent.

cours-astuces/envoi-mail-avec-cdo-sans- ... 38945.html

Si c'est pour garder une trace du mail envoyé, mettre son adresse en copie... :wink:


Je n'ai pas eu l'occasion d'envoyer par CDO du HTML, mais en cherchant sur la toile ce soir, voici ce que j'ai trouvé :

https://www.generation-nt.com/reponses/ ... 46971.html

Si cela peut vous aider...
Avatar du membre
Steelson
Fanatique d'Excel
Fanatique d'Excel
Messages : 13'575
Appréciations reçues : 755
Inscrit le : 13 octobre 2014
Version d'Excel : 2013 FR
Téléchargements : Mes applications

Message par Steelson » 29 août 2017, 06:53

Bonjour Thihii,
Quelque soit la méthode, le sujet est d'envoyer des photos en respectant la mise en forme sous word. C'est cela qu'il faut résoudre.

Bonjour lexxor
Steelson a écrit :2- sinon, je préconiserai aussi d'essayer d'ouvrir le word original, faire par sendkeys Ctrl+A et Ctrl+C pour tout copier, aller dans le mail et faire par sendkeys Ctrv+V pour coller, tout ceci piloté par excel.
Essaie ceci
lecture word - outlook.xlsm
(14.7 Kio) Téléchargé 28 fois
Hello.docx
(312.19 Kio) Téléchargé 25 fois

O.o°• ♪♪♫ °º¤ø,¸¸,ø¤º°`°º¤ø,¸ O.o°• ♪♪♫ °º¤ø,¸¸,ø¤º°`°º¤ø,¸
PI = 3.14159 26535 89793 23846 26433 83279 50288 41971 69399 37510 58209 74944 59230 78164 06286 20899 86280

( ͡• ͜ʖ ͡• )
T
Thihii
Membre fidèle
Membre fidèle
Messages : 155
Inscrit le : 16 août 2016
Version d'Excel : 2010

Message par Thihii » 29 août 2017, 09:00

Bonjour,

Très bien, je regarde cela ce soir.

bonne journée.
l
lexxor
Jeune membre
Jeune membre
Messages : 12
Inscrit le : 9 novembre 2015
Version d'Excel : 2010

Message par lexxor » 29 août 2017, 09:17

Bonjour a toi et merci encore pour ton soutient :

J'ai extrait les deux codes HTML du mail :
Celui avec les liens rompus :
<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=iso-8859-1"><meta name=Generator content="Microsoft Word 14 (filtered medium)"><!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
	{font-family:"Cordia New";
	panose-1:2 11 3 4 2 2 2 2 2 4;}
@font-face
	{font-family:"Cordia New";
	panose-1:2 11 3 4 2 2 2 2 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
	{font-family:Tahoma;
	panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
	{font-family:"Century Gothic";
	panose-1:2 11 5 2 2 2 2 2 2 4;}
@font-face
	{font-family:Times;
	panose-1:2 2 6 3 5 4 5 2 3 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin-top:0cm;
	margin-right:0cm;
	margin-bottom:8.0pt;
	margin-left:0cm;
	line-height:106%;
	font-size:11.0pt;
	font-family:"Calibri","sans-serif";
	mso-fareast-language:EN-US;}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:purple;
	text-decoration:underline;}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
	{mso-style-priority:99;
	mso-style-link:"Texte de bulles Car";
	margin:0cm;
	margin-bottom:.0001pt;
	font-size:8.0pt;
	font-family:"Tahoma","sans-serif";
	mso-fareast-language:EN-US;}
span.TextedebullesCar
	{mso-style-name:"Texte de bulles Car";
	mso-style-priority:99;
	mso-style-link:"Texte de bulles";
	font-family:"Tahoma","sans-serif";}
span.EmailStyle19
	{mso-style-type:personal-compose;}
.MsoChpDefault
	{mso-style-type:export-only;
	font-size:10.0pt;
	font-family:"Calibri","sans-serif";}
@page WordSection1
	{size:595.3pt 841.9pt;
	margin:70.85pt 70.85pt 70.85pt 70.85pt;}
div.WordSection1
	{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1027" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=FR link=blue vlink=purple><div class=WordSection1><p class=MsoNormal>Hello Alexandre!<o:p></o:p></p><p class=MsoNormal><b><span style='font-size:12.0pt;line-height:106%;color:#1F497D'>Frederic LARD<o:p></o:p></span></b></p><p class=MsoNormal><b><span lang=EN-US style='font-size:10.0pt;line-height:106%;font-family:"Century Gothic","sans-serif";color:#003684'>Alexandre ROY</span></b><span lang=EN-US style='font-size:10.0pt;line-height:106%;font-family:"Century Gothic","sans-serif";color:#003684'> <o:p></o:p></span></p><p class=MsoNormal style='margin-bottom:12.0pt'><span lang=EN-US style='font-size:9.0pt;line-height:106%;font-family:"Century Gothic","sans-serif";color:#003684'>Apprenti Ingénieur en Assemblage<br>Business Group (if needed)<o:p></o:p></span></p><p class=MsoNormal style='margin-bottom:12.0pt'><span lang=EN-US style='font-size:9.0pt;line-height:106%;font-family:"Century Gothic","sans-serif"'>T + 00 (0) 00 00 00 00 &#8226; M +00 (0)0 00 00 00 00 <br>alexandre.roy@faurecia.com<br>Address on one line &#8211; City &#8211; Post Code &#8211; Country</span><span lang=EN-US style='font-size:9.0pt;line-height:106%;font-family:"Times","serif"'> <o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p><p class=MsoNormal>Bonjour le forum, voici comment faire une copie d&#8217;écran avec Surface&nbsp;:<o:p></o:p></p><p class=MsoNormal><!--[if gte vml 1]><v:shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f">
<v:stroke joinstyle="miter" />
<v:formulas>
<v:f eqn="if lineDrawn pixelLineWidth 0" />
<v:f eqn="sum @0 1 0" />
<v:f eqn="sum 0 0 @1" />
<v:f eqn="prod @2 1 2" />
<v:f eqn="prod @3 21600 pixelWidth" />
<v:f eqn="prod @3 21600 pixelHeight" />
<v:f eqn="sum @0 0 1" />
<v:f eqn="prod @6 1 2" />
<v:f eqn="prod @7 21600 pixelWidth" />
<v:f eqn="sum @8 21600 0" />
<v:f eqn="prod @7 21600 pixelHeight" />
<v:f eqn="sum @10 21600 0" />
</v:formulas>
<v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect" />
<o:lock v:ext="edit" aspectratio="t" />
</v:shapetype><v:shape id="Image_x0020_1" o:spid="_x0000_s1026" type="#_x0000_t75" style='width:453.75pt;height:255pt;visibility:visible;mso-wrap-style:square;mso-left-percent:-10001;mso-top-percent:-10001;mso-position-horizontal:absolute;mso-position-horizontal-relative:char;mso-position-vertical:absolute;mso-position-vertical-relative:line;mso-left-percent:-10001;mso-top-percent:-10001'>
<w:wrap type="none"/>
<w:anchorlock/>
</v:shape><![endif]--><![if !vml]><img width=605 height=340 src="cid:image001.png@01D320A6.70277390" v:shapes="Image_x0020_1"><![endif]><o:p></o:p></p></div></body></html>
Celui avec les liens restaurés en manuel :
<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=iso-8859-1"><meta name=Generator content="Microsoft Word 14 (filtered medium)"><!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
	{font-family:"Cordia New";
	panose-1:2 11 3 4 2 2 2 2 2 4;}
@font-face
	{font-family:"Cordia New";
	panose-1:2 11 3 4 2 2 2 2 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
	{font-family:Tahoma;
	panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
	{font-family:"Century Gothic";
	panose-1:2 11 5 2 2 2 2 2 2 4;}
@font-face
	{font-family:Times;
	panose-1:2 2 6 3 5 4 5 2 3 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin-top:0cm;
	margin-right:0cm;
	margin-bottom:8.0pt;
	margin-left:0cm;
	line-height:106%;
	font-size:11.0pt;
	font-family:"Calibri","sans-serif";
	mso-fareast-language:EN-US;}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:purple;
	text-decoration:underline;}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
	{mso-style-priority:99;
	mso-style-link:"Texte de bulles Car";
	margin:0cm;
	margin-bottom:.0001pt;
	font-size:8.0pt;
	font-family:"Tahoma","sans-serif";
	mso-fareast-language:EN-US;}
span.TextedebullesCar
	{mso-style-name:"Texte de bulles Car";
	mso-style-priority:99;
	mso-style-link:"Texte de bulles";
	font-family:"Tahoma","sans-serif";}
span.EmailStyle19
	{mso-style-type:personal-compose;}
.MsoChpDefault
	{mso-style-type:export-only;
	font-size:10.0pt;
	font-family:"Calibri","sans-serif";}
@page WordSection1
	{size:595.3pt 841.9pt;
	margin:70.85pt 70.85pt 70.85pt 70.85pt;}
div.WordSection1
	{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=FR link=blue vlink=purple><div class=WordSection1><p class=MsoNormal>Hello Alexandre!<o:p></o:p></p><p class=MsoNormal><b><span style='font-size:12.0pt;line-height:106%;color:#1F497D'>Frederic LARD<o:p></o:p></span></b></p><p class=MsoNormal><b><span lang=EN-US style='font-size:10.0pt;line-height:106%;font-family:"Century Gothic","sans-serif";color:#003684'>Alexandre ROY</span></b><span lang=EN-US style='font-size:10.0pt;line-height:106%;font-family:"Century Gothic","sans-serif";color:#003684'> <o:p></o:p></span></p><p class=MsoNormal style='margin-bottom:12.0pt'><span lang=EN-US style='font-size:9.0pt;line-height:106%;font-family:"Century Gothic","sans-serif";color:#003684'>Apprenti Ingénieur en Assemblage<br>Business Group (if needed)<o:p></o:p></span></p><p class=MsoNormal style='margin-bottom:12.0pt'><span lang=EN-US style='font-size:9.0pt;line-height:106%;font-family:"Century Gothic","sans-serif"'>T + 00 (0) 00 00 00 00 &#8226; M +00 (0)0 00 00 00 00 <br>alexandre.roy@faurecia.com<br>Address on one line &#8211; City &#8211; Post Code &#8211; Country</span><span lang=EN-US style='font-size:9.0pt;line-height:106%;font-family:"Times","serif"'> <o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p><p class=MsoNormal>Bonjour le forum, voici comment faire une copie d&#8217;écran avec Surface&nbsp;:<o:p></o:p></p><p class=MsoNormal><span style='mso-fareast-language:ZH-CN'><img width=604 height=340 id="Image_x0020_1" src="cid:image001.png@01D320A6.DCA90240"></span><o:p></o:p></p></div></body></html>
Après Comparaison voici tout le code qui change entre les deux versions du fichier source :



Je viens de trouver la différence entre les deux fichiers sources HTML :

Partie du code source HTML (changeante) recupérée du document word avec liens rompus :
!--[if gte vml 1]><v:shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f">
<v:stroke joinstyle="miter" />
<v:formulas>
<v:f eqn="if lineDrawn pixelLineWidth 0" />
<v:f eqn="sum @0 1 0" />
<v:f eqn="sum 0 0 @1" />
<v:f eqn="prod @2 1 2" />
<v:f eqn="prod @3 21600 pixelWidth" />
<v:f eqn="prod @3 21600 pixelHeight" />
<v:f eqn="sum @0 0 1" />
<v:f eqn="prod @6 1 2" />
<v:f eqn="prod @7 21600 pixelWidth" />
<v:f eqn="sum @8 21600 0" />
<v:f eqn="prod @7 21600 pixelHeight" />
<v:f eqn="sum @10 21600 0" />
</v:formulas>
<v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect" />
<o:lock v:ext="edit" aspectratio="t" />
</v:shapetype><v:shape id="Image_x0020_1" o:spid="_x0000_s1026" type="#_x0000_t75" style='width:453.75pt;height:255pt;visibility:visible;mso-wrap-style:square;mso-left-percent:-10001;mso-top-percent:-10001;mso-position-horizontal:absolute;mso-position-horizontal-relative:char;mso-position-vertical:absolute;mso-position-vertical-relative:line;mso-left-percent:-10001;mso-top-percent:-10001'>
<w:wrap type="none"/>
<w:anchorlock/>
</v:shape><![endif]--><![if !vml]><img width=605 height=340 src="cid:image001.png@01D320A6.70277390" v:shapes="Image_x0020_1"><![endif]><o:p></o:p></p></div></body></html>

Le bon : Partie du code source HTML (changeante) recupérée a partir du mail avec les liens restaurés) :
<span style='mso-fareast-language:ZH-CN'><img width=604 height=340 id="Image_x0020_1" src="cid:image001.png@01D320A6.DCA90240"></span><o:p></o:p></p></div></body></html>
Penses-tu qu'il serait possible de faire un replace dans mon code source ?
Avatar du membre
Steelson
Fanatique d'Excel
Fanatique d'Excel
Messages : 13'575
Appréciations reçues : 755
Inscrit le : 13 octobre 2014
Version d'Excel : 2013 FR
Téléchargements : Mes applications

Message par Steelson » 29 août 2017, 09:39

Bonjour,

on trouve bien un CID: dans les 2 cas !!!! donc je ne comprends plus bien
<img width=604 height=340 id="Image_x0020_1" src="cid:image001.png@01D320A6.DCA90240">
<img width=605 height=340 src="cid:image001.png@01D320A6.70277390"v:shapes="Image_x0020_1">
Il serait intéressant de savoir où est logé image001.png ... à voir dans probablement C:\Users\XXXX\AppData\Roaming\Microsoft

Mais il ne sera pas évident de trouver les caractères suivants @

J'attends ton verdict pour l'essai proposé ci-dessus.
Excel ouvre la fichier word, copie dans le presse-papier le contenu, ouvre un message et colle le presse-papier dedans.

O.o°• ♪♪♫ °º¤ø,¸¸,ø¤º°`°º¤ø,¸ O.o°• ♪♪♫ °º¤ø,¸¸,ø¤º°`°º¤ø,¸
PI = 3.14159 26535 89793 23846 26433 83279 50288 41971 69399 37510 58209 74944 59230 78164 06286 20899 86280

( ͡• ͜ʖ ͡• )
l
lexxor
Jeune membre
Jeune membre
Messages : 12
Inscrit le : 9 novembre 2015
Version d'Excel : 2010

Message par lexxor » 29 août 2017, 10:44

Bonjour,

J'ai un autre problème avec ta solution, le collage se fait au mauvais endroit (Destinataire) :
Mail_Test.png
Mail_Test.png (9.74 Kio) Vu 1100 fois
Merci encore.
Avatar du membre
Steelson
Fanatique d'Excel
Fanatique d'Excel
Messages : 13'575
Appréciations reçues : 755
Inscrit le : 13 octobre 2014
Version d'Excel : 2013 FR
Téléchargements : Mes applications

Message par Steelson » 29 août 2017, 10:56

ok
pas de soucis
je vais ajouter les tabulations en te donnant la marche à suivre ...
je ne suis pas dispo dans l'heure qui vient mais je le ferai dès que je peux

O.o°• ♪♪♫ °º¤ø,¸¸,ø¤º°`°º¤ø,¸ O.o°• ♪♪♫ °º¤ø,¸¸,ø¤º°`°º¤ø,¸
PI = 3.14159 26535 89793 23846 26433 83279 50288 41971 69399 37510 58209 74944 59230 78164 06286 20899 86280

( ͡• ͜ʖ ͡• )
l
lexxor
Jeune membre
Jeune membre
Messages : 12
Inscrit le : 9 novembre 2015
Version d'Excel : 2010

Message par lexxor » 29 août 2017, 11:23

Pas de soucis pour ton indispo. Tu es déjà très réactif ;)

J'ai essayé par anticipation avec SendKeys "{TAB}", ça me fait de réelles tabulations au lieu de naviguer dans les champs.

Je te remercie encore pour ton aide !
Avatar du membre
Steelson
Fanatique d'Excel
Fanatique d'Excel
Messages : 13'575
Appréciations reçues : 755
Inscrit le : 13 octobre 2014
Version d'Excel : 2013 FR
Téléchargements : Mes applications

Message par Steelson » 29 août 2017, 12:04

1- regarde si, lorsque l'adresse mail est renseignée par macro, la zone active n'est pas le corps du mail quand la macro ouvre un nouveau message

2- sinon, essaie ceci, mais je suis étonné que ton essai n'ait pas fonctionné ! peut-être à cause de l'absence du True
    With email
        .to = ""
        .Subject = "test envoi mail corps réaalisé sous word"
        .display
        Application.Wait (Now + TimeValue("0:00:01"))
        SendKeys "{TAB 3}", True
        SendKeys "^v", True
    End With
j'ai mis 3 tabulations, mais cela reste à ajuster (je n'en ai jamais eu besoin avec les mails)

O.o°• ♪♪♫ °º¤ø,¸¸,ø¤º°`°º¤ø,¸ O.o°• ♪♪♫ °º¤ø,¸¸,ø¤º°`°º¤ø,¸
PI = 3.14159 26535 89793 23846 26433 83279 50288 41971 69399 37510 58209 74944 59230 78164 06286 20899 86280

( ͡• ͜ʖ ͡• )
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message