Envoi de mail par Lotus Notes 8.5 en VBA
Bonjour,
Je voudrais utiliser cette superbe macro pour envoyer un fichier texte par Lotus Notes 8.5.
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 65
| Sub SendNotesMail()
lechemin = ActiveWorkbook.Path
ledossier = Feuil3.[B1].Value
lefichier = lechemin & "\" & ledossier & ".txt"
On Error GoTo TraiteErreur
Dim Maildb As Object 'The mail database
Dim UserName As String 'The current users notes name
Dim MailDbName As String 'THe current users notes mail database name
Dim MailDoc As Object 'The mail document itself
Dim AttachME As Object 'The attachment richtextfile object
Dim Session As Object 'The notes session
Dim EmbedObj As Object 'The embedded object (Attachment)
Dim ATTACHMENT
ATTACHMENT = lefichier
Set Session = CreateObject("Notes.NotesSession")
MailDbName = "zzzz" & ".nsf"
'Open the mail database in notes
Set Maildb = Session.GetDatabase("", MailDbName)
If Maildb.IsOpen = True Then
'Already open for mail
Else
Maildb.OPENMAIL
End If
'Set up the new mail document
Set MailDoc = Maildb.CreateDocument
MailDoc.Form = "Memo"
MailDoc.Subject = "New inquiry"
MailDoc.body = "Please find attached a new inquiry"
MailDoc.SaveMessageOnSend = saveit
'PJ
If ATTACHMENT <> "" Then
Set AttachME = MailDoc.CreateRichTextItem("Attachment")
Set EmbedObj = AttachME.EmbedObject(1454, "", ATTACHMENT, "Attachment")
End If
'Send the document
MailDoc.PostedDate = Now()
MailDoc.Send 0, "xxx@yyy.fr"
Set Maildb = Nothing
Set MailDoc = Nothing
Set AttachME = Nothing
Set Session = Nothing
Set EmbedObj = Nothing
Exit Sub
TraiteErreur:
MsgBox "Sorry, something went wrong ...", vbCritical, "Error"
'Clean Up
Set Maildb = Nothing
Set MailDoc = Nothing
Set AttachME = Nothing
Set Session = Nothing
Set EmbedObj = Nothing
End Sub |
Malgré des jours de recherche sur le net, je ne trouve pas mon bonheur pour
1) ne pas envoyer le mémo automatiquement mais laisser à l'utilisateur la possibilité d'entrer lui-même le texte du message.
2) que le mémo envoyé se retrouve dans la liste de messages envoyés. En effet, la macro fonctionne très bien, le message est bien envoyé avec sa pièce jointe mais je ne trouve aucune trace de ce message dans ma base. J'ai essayé les deux méthodes pour MailDbName : en entrant directement le nom de ma base Lotus Notes ou en la cherchant avec UserName=Session.UserName. Je n'ai pas d'erreurs mais le message n'apparaît toujours pas :cry:
Si une bonne âme a une solution, elle sera plus que bienvenue !!
Grand merci par avance