OVH Cloud OVH Cloud

Problème programmation outlook

3 réponses
Avatar
couscous
J'utilise le code suivant dans une procédure VBA access :

Set Var_Message = Var_ApplOut.CreateItem(olMailItem)
Var_Message.Recipients.Add (MyMail) 'Adresse destinataire
Var_Message.Subject = "Mon objet"
Var_Message.HTMLBody = Var_Corps ' Var_Corps contient du code
HTML
Var_Message.Send

Pas de problème sur mon Outlook 2003, j'ai bien un message HTML avec le
contenu HTML Var_Corps.

Si j'installe cela sur un autre poste, chez le client naturellement, j'ai
plus rien dans le message, du vide.Lui il utilise Outlook 2002.

Au lieu d'utiliser, HTMLBody, j'ai essayé avec Body mais alors là, il y a
une convertion qui se produit. En fait outlook retraduit le code pour que
s'affiche dans le document le contenu HTML du code au lieu du code en lui
même. C'est à dire si Var_Corps contient <Table> dans le message j'aurais
&lt;TABLE&gt; par contre là, j'ai bien du contenu dans les deux versions
d'outlook.

Deux questions :
Pourquoi le code avec HTMLBody produit du vide dans outlook 2002 ? Y-t-il
autre chose à spécifier pour que cela fonctionne?
Autrement peut-on éviter cette convertion si on utilise Body?

Par avance merci pour vos éclaircissements.

3 réponses

Avatar
Bernard Opic [MVP]
Bonjour,

Je te propose d'ajouter Var_Message.BodyFormat = olFormatHTML avant Var_Message.HTMLBody
= Var_Corps.

La constante olFormatHTML peut être remplacé par la valeur 2.

Tu trouveras une liste des constantes du modèle objet d'Outlook 2002 à l'adresse
ci-dessous :
http://support.microsoft.com/?kbid(5202

Tu peux également utiliser Var_Message.To = MyMail au lieu de Var_Message.Recipients.Add
(MyMail) puisque tu n'as qu'un destinataire.

Amicalement,

--
Bernard Opic
www.media-tips.com
Microsoft MVP for Office Systems - Outlook

J'utilise le code suivant dans une procédure VBA access :

Set Var_Message = Var_ApplOut.CreateItem(olMailItem)
Var_Message.Recipients.Add (MyMail) 'Adresse destinataire
Var_Message.Subject = "Mon objet"
Var_Message.HTMLBody = Var_Corps ' Var_Corps contient du
code
HTML
Var_Message.Send
Pas de problème sur mon Outlook 2003, j'ai bien un message HTML avec
le contenu HTML Var_Corps.

Si j'installe cela sur un autre poste, chez le client naturellement,
j'ai plus rien dans le message, du vide.Lui il utilise Outlook 2002.

Au lieu d'utiliser, HTMLBody, j'ai essayé avec Body mais alors là, il
y a une convertion qui se produit. En fait outlook retraduit le code
pour que s'affiche dans le document le contenu HTML du code au lieu du
code en lui même. C'est à dire si Var_Corps contient <Table> dans le
message j'aurais &lt;TABLE&gt; par contre là, j'ai bien du contenu
dans les deux versions d'outlook.

Deux questions :
Pourquoi le code avec HTMLBody produit du vide dans outlook 2002 ?
Y-t-il
autre chose à spécifier pour que cela fonctionne?
Autrement peut-on éviter cette convertion si on utilise Body?
Par avance merci pour vos éclaircissements.



Avatar
couscous
J'avais déjà essayé BodyFormat sans plus de résultat.

Par contre je n'ai pas essayé le To. J'y crois pas trop, mais je vais
tenter.

Merci en tout cas pour ta réponse.

"Bernard Opic [MVP]" a écrit dans le message
de news:
Bonjour,

Je te propose d'ajouter Var_Message.BodyFormat = olFormatHTML avant
Var_Message.HTMLBody

= Var_Corps.

La constante olFormatHTML peut être remplacé par la valeur 2.

Tu trouveras une liste des constantes du modèle objet d'Outlook 2002 à
l'adresse

ci-dessous :
http://support.microsoft.com/?kbid(5202

Tu peux également utiliser Var_Message.To = MyMail au lieu de
Var_Message.Recipients.Add

(MyMail) puisque tu n'as qu'un destinataire.

Amicalement,

--
Bernard Opic
www.media-tips.com
Microsoft MVP for Office Systems - Outlook

J'utilise le code suivant dans une procédure VBA access :

Set Var_Message = Var_ApplOut.CreateItem(olMailItem)
Var_Message.Recipients.Add (MyMail) 'Adresse destinataire
Var_Message.Subject = "Mon objet"
Var_Message.HTMLBody = Var_Corps ' Var_Corps contient du
code
HTML
Var_Message.Send
Pas de problème sur mon Outlook 2003, j'ai bien un message HTML avec
le contenu HTML Var_Corps.

Si j'installe cela sur un autre poste, chez le client naturellement,
j'ai plus rien dans le message, du vide.Lui il utilise Outlook 2002.

Au lieu d'utiliser, HTMLBody, j'ai essayé avec Body mais alors là, il
y a une convertion qui se produit. En fait outlook retraduit le code
pour que s'affiche dans le document le contenu HTML du code au lieu du
code en lui même. C'est à dire si Var_Corps contient <Table> dans le
message j'aurais &lt;TABLE&gt; par contre là, j'ai bien du contenu
dans les deux versions d'outlook.

Deux questions :
Pourquoi le code avec HTMLBody produit du vide dans outlook 2002 ?
Y-t-il
autre chose à spécifier pour que cela fonctionne?
Autrement peut-on éviter cette convertion si on utilise Body?
Par avance merci pour vos éclaircissements.







Avatar
couscous
Cela ne marche toujours pas même avec le To.

J'ai essayé sur un autre poste avec Outlook 2002 et j'ai le même problème.
Le Body du message reste vide mais le message a une structure HTML avec HTML
HEAD BODY si je regarde la source du message.
Ceci même dans une macro dans Outlook.

Par contre dans mon Outlook 2003, je n'ai pas de structure HTML juste le
code que j'envoie par HTMLBody si je regarde la source du message.

Si quelqu'un a de l'info par avance un grand merci.

"Bernard Opic [MVP]" a écrit dans le message
de news:
Bonjour,

Je te propose d'ajouter Var_Message.BodyFormat = olFormatHTML avant
Var_Message.HTMLBody

= Var_Corps.

La constante olFormatHTML peut être remplacé par la valeur 2.

Tu trouveras une liste des constantes du modèle objet d'Outlook 2002 à
l'adresse

ci-dessous :
http://support.microsoft.com/?kbid(5202

Tu peux également utiliser Var_Message.To = MyMail au lieu de
Var_Message.Recipients.Add

(MyMail) puisque tu n'as qu'un destinataire.

Amicalement,

--
Bernard Opic
www.media-tips.com
Microsoft MVP for Office Systems - Outlook

J'utilise le code suivant dans une procédure VBA access :

Set Var_Message = Var_ApplOut.CreateItem(olMailItem)
Var_Message.Recipients.Add (MyMail) 'Adresse destinataire
Var_Message.Subject = "Mon objet"
Var_Message.HTMLBody = Var_Corps ' Var_Corps contient du
code
HTML
Var_Message.Send
Pas de problème sur mon Outlook 2003, j'ai bien un message HTML avec
le contenu HTML Var_Corps.

Si j'installe cela sur un autre poste, chez le client naturellement,
j'ai plus rien dans le message, du vide.Lui il utilise Outlook 2002.

Au lieu d'utiliser, HTMLBody, j'ai essayé avec Body mais alors là, il
y a une convertion qui se produit. En fait outlook retraduit le code
pour que s'affiche dans le document le contenu HTML du code au lieu du
code en lui même. C'est à dire si Var_Corps contient <Table> dans le
message j'aurais &lt;TABLE&gt; par contre là, j'ai bien du contenu
dans les deux versions d'outlook.

Deux questions :
Pourquoi le code avec HTMLBody produit du vide dans outlook 2002 ?
Y-t-il
autre chose à spécifier pour que cela fonctionne?
Autrement peut-on éviter cette convertion si on utilise Body?
Par avance merci pour vos éclaircissements.