PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → Email.Message/HTML = MonchampRTF
Email.Message/HTML = MonchampRTF
Débuté par Alexandre - LeXcom, 13 sep. 2005 20:09 - 1 réponse
Posté le 13 septembre 2005 - 20:09
Bonjour,

Comment faire pour que le contenu de MonchampRTF devienne du HTML
pour etre envoyé par mail. car la ca me donne le code binaire du champ rtf...


Merci d'avance
Posté le 17 septembre 2005 - 14:12
Bonjour, je rencontre le même problème que vous, voici des éléments de solutions

Et bien il faut déjà distinguer plusieurs Choses:
- le code HTML n'est pas du format RTF (important!)
- Windev ne permet pas de convertir directement du RTF en HTML(ce serait génial ça!)
- il faut chercher des utilitaires qui sont des utilitaires en C# intégrables dans Windev
- Le champ "Email.MessageHTML" est un champ qui doit contenir des balises HTML!
- Voici des liens pour des convertisseurs RTF vers HTML
http://www.codeproject.com/csharp/nrtftree.asp
http://www.codeguru.com/Cpp/controls/richedit/conversions/article.php/c5377
http://www50.brinkster.com/sgolivernet/nrtftree.html
http://www.cena.fr/~sagnier/public/info/formats/conversions/martha.htm

- Si vous êtes pressés, et que la plate forme de votre client le permet, utilisé alors directement l'api word, à travers l'utilisation de l'API ActiveX de Word, une application de type :
ATTENTION : D'une version de WORD à l'autre (97/2000/2003), l'API De Word change,

//**************************************
// VALABLE UNIQUEMENT pour WORD 2002/2003!!!!!!
//**************************************
Word est un objet OLE dynamique = allouer un Objet("Word.Applicaiton")
NomChampRtf est une chaine = "NomChamp"
tempPath est une chaine = "c:\temp.htm"

QUAND EXCEPTION DANS
VersPressPapier(NomChampRtf)
Word>>Documents>>Add()
Word>>Selection>>Paste()
Word>>ActiveDocument>>SaveAs(tempPath,10) // wdFormatHTML
Word>>ActiveDocument>>Close()
Word>>Quit(OLEFaux,OLEFaux,OLEFaux)
// La constante 10 est ici pour dire à Word d'enregistrer le document RTF en HTML
FAIRE
Fin
Email.HTML = fCharge(tempPath)
fSupprime(tempPath)

//**************************************
// ATTENTION : si vous avez des images dans votre champ RTF
// 1/IL FAUDRA QUE VOUS codiez un PARSEUR d'image et que vous
// remplaciez les images dans le code HTML enregistré par word par
// "wdcid"+"<n°image>"
// 2/ Veillez à attacher les images dans les pièces jointes!
//**************************************