[VBA] Envoi mail lotus notes en utilisant un modèle
Bonjour,
Voila mon problème, j'ai trouvé sur le net un code me permettant d'envoyer un mail lotus notes via vba excel.
Je doit automatiser un envoie de mail via Lotus notes mais je dois laisse dans le corps du mail prédéfini dans un modele lotus.
Voici le code que j'ai trouve sur ce forum :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
| 'Envoi d'un mail avec Lotus Notes
'Subject : sujet du mail
'Attachment : nom d'une pièce jointe
'Recipient : adresse e-mail du destinataire principal
'ccRecipient : destinataire en copie
'bccRecipient : destinataire en copie invisible
'BodyText : corps du mail
'SaveIt : mettre à True pour que le mail soit sauvegardé
'Password : mot de passe
Public Sub SendNotesMail(ByVal Subject As String, ByVal Attachment As String, _
ByVal Recipient As String, ByVal ccRecipient As String, _
ByVal bccRecipient As String, ByVal BodyText As String, _
ByVal SaveIt As Boolean, ByVal Password As String)
Dim Maildb As Object 'La base des mails
Dim UserName As String 'Le nom d'utilisateur
Dim MailDbName As String 'Le nom de la base des mails
Dim MailDoc As Object 'Le mail
Dim AttachME As Object 'L'objet pièce jointe en RTF
Dim Session As Object 'La session Notes
Dim EmbedObj As Object 'L'objet incorporé
'Crée une session notes
Set Session = CreateObject("Notes.NotesSession")
'*** Cette ligne est réservée aux versions 5.x et supérieur : ***
Session.Initialize (Password)
'Récupère le nom d'utilisateur et crée le nom de la base des mails
UserName = Session.UserName
MailDbName = Left$(UserName, 1) & Right$(UserName, (Len(UserName) - InStr(1, UserName, " "))) & ".nsf"
'Ouvre la base des mails
Set Maildb = Session.GETDATABASE("", MailDbName)
If Not Maildb.ISOPEN Then Maildb.OPENMAIL
'Paramètre le mail à envoyer
Set MailDoc = Maildb.CREATEDOCUMENT
MailDoc.Form = "Memo"
MailDoc.sendto = Recipient
MailDoc.CopyTo = ccRecipient
MailDoc.BlindCopyTo = bccRecipient
MailDoc.Subject = Subject
MailDoc.Body = BodyText
MailDoc.SAVEMESSAGEONSEND = SaveIt
'Prend en compte les pièces jointes
If Attachment <> "" Then
Set AttachME = MailDoc.CREATERICHTEXTITEM("Attachment")
Set EmbedObj = AttachME.EMBEDOBJECT(1454, "", Attachment, "Attachment")
MailDoc.CREATERICHTEXTITEM ("Attachment")
End If
'Envoie le mail
MailDoc.PostedDate = Now()
MailDoc.SEND 0, Recipient
Set Maildb = Nothing
Set MailDoc = Nothing
Set AttachME = Nothing
Set Session = Nothing
Set EmbedObj = Nothing
End Sub |
Je voulais donc savoir s'il etait possible d'ouvrir un modèle plutôt qu'un nouveau mémo dans l'automatisation de mail ou sinon s'il était possible par un quelconque moyen de décrire un tableau dans le corps du mail sous vba.
Merci d'avance
Cordialement
Utilisation d'un modèle à la place du défaut «Mémo»
Essai en ajoutant également le nom de ton modèle à l'aide de la variable:
MailStationeryName="Nom du modèle"