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és6Date d'inscriptionmercredi 21 octobre 2009StatutMembreDernière intervention21 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és9Date d'inscriptionvendredi 25 novembre 2005StatutMembreDernière intervention19 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és6Date d'inscriptionmercredi 21 octobre 2009StatutMembreDernière intervention21 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.
28 févr. 2013 à 20:00
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
27 févr. 2013 à 21:33
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
21 janv. 2011 à 10:46
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
20 janv. 2011 à 19:11
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)
20 janv. 2011 à 14:56
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.