GÉNÉRATEUR DE MAIL LOTUS NOTES AVEC MISE EN FORME VIA UNE SYNTAXE HTML

Anormade Messages postés 6 Date d'inscription mercredi 21 octobre 2009 Statut Membre Dernière intervention 21 janvier 2011 - 20 janv. 2011 à 14:56
8Tnerolf8 Messages postés 9 Date d'inscription vendredi 25 novembre 2005 Statut Membre Dernière intervention 19 août 2013 - 28 févr. 2013 à 20:00
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/50523-generateur-de-mail-lotus-notes-avec-mise-en-forme-via-une-syntaxe-html

8Tnerolf8 Messages postés 9 Date d'inscription vendredi 25 novembre 2005 Statut Membre Dernière intervention 19 août 2013
28 févr. 2013 à 20:00
Bonsoir Martindi 37

N'ayant plus accès pour le moment à Lotus Notes, je peux te donner des pistes pour ajouter un style pour une couleur

Exemple trouvé sur http://www.mrexcel.com/forum/excel-questions/317966-lotus-notes-font-style-visual-basic-applications.html

objNotesStyle.NotesColor = COLOR_RED
Call objNotesField.AppendStyle(objNotesStyle)

Correspondance des constantes de couleurs sur http://www.rtlib.com/rtlib/vwClasses/rtFontstyle*NotesColor*

Property Set/Get NotesColor As Integer
Notes color index:

COLOR_BLACK (0)
COLOR_BLUE (4)
COLOR_CYAN (7)
COLOR_DARK_BLUE (10)
COLOR_DARK_CYAN (13)
COLOR_DARK_GREEN (9)
COLOR_DARK_MAGENTA (11)
COLOR_DARK_RED (8)
COLOR_DARK_YELLOW (12)
COLOR_GRAY (14)
COLOR_GREEN (3)
COLOR_LIGHT_GRAY (15)
COLOR_MAGENTA (5)
COLOR_RED (2)
COLOR_WHITE (1)
COLOR_YELLOW (6)
STYLE_NO_CHANGE (255)

Exemple d'implémentation dans mon code :
'Appliquer le rouge
Case "<Rouge>" 'Rouge
Style.NotesColor = COLOR_RED
Balise = "<Rouge>"

'Ne plus appliquer le rouge
Case "<Rouge>" 'Rouge
Style.NotesColor = COLOR_BLACK
Balise = "<Rouge>"

Cordialement,

8Tnerolf8
Bonjour,

super code pour envoyer des mail en automatique, très bien écrit et très claire, je l'ai testé et pu développer des envoies de mails.
Juste une petite question, je n'est pas réussi à rajouter une balise pour mettre une phrase en couleur.

Pouvez vous m'aider

Cordialement
Anormade Messages postés 6 Date d'inscription mercredi 21 octobre 2009 Statut Membre Dernière intervention 21 janvier 2011
21 janv. 2011 à 10:46
Merci pour la réponse rapide !
Après différents essaie, ce qui a marché pour moi c'est ;

With Regle
    .Global = True
    .IgnoreCase = True
    .Pattern = vbCrLf
    Corps = .Replace(Corps, Chr(10))
End With
8Tnerolf8 Messages postés 9 Date d'inscription vendredi 25 novembre 2005 Statut Membre Dernière intervention 19 août 2013
20 janv. 2011 à 19:11
Je n'ai pas connu ce genre de problèmes lorsque j'ai dû implémenter cette solution.
Je te propose, pour éviter d'avoir une ligne sautée en plus sur la chaîne de caractères du corps du message de suivre la procédure suivante (à creuser car couchée directement dans ce message):

Première solution : Au lieu d'utiliser des vbCrLf, voit ce que cela peut donner avec des chr(10) et des chr(13) car vbCrlf = chr(10) & chr(13)

Seconde solution :

- Référence la bibliothèque
Library VBScript_RegExp_55
C:\Windows\system32\vbscript.dll\3
Microsoft VBScript Regular Expressions 5.5


- En amont de Envoi_Email_Lotus, formate la chaîne de caratères qui servira de corps de message en remplaçant les "vbCrLf" par "
"

- Dans la procédure Genere_body ajoute

Dim Regle As New RegExp

Avant "With Body" ajoute

'On remplace les sauts de lignes consécutifs par un seul saut de ligne
With Regle
.Global = True
.IgnoreCase = True
.Pattern = "(?:
)+)"
Corps = .Replace(Corps, vbCrLf)
End With

Si les problèmes persistent, essaie de faire Regle.Replace avec chr(10) et / ou chr(13)
Anormade Messages postés 6 Date d'inscription mercredi 21 octobre 2009 Statut Membre Dernière intervention 21 janvier 2011
20 janv. 2011 à 14:56
Impec pour mon application.
La seule chose qui gene c'est qu'à chaque retour a la ligne dans le message initiale, je me retrouve avec une ligne sautée en plus.
Rejoignez-nous