[RESOLU] Macro Excel pour Envoi mail automatique via Lotus Notes 6.5
Bonjour,
J'ai trouvé 2 codes différents pour envoyer un mail automatiquement à un destinataire avec Lotus Notes 6.5. Les 2 fonctionnent mais malheureusement, chacun d'eux comporte un peu problème qui me dérange.
1ère Méthode:
Le petit soucis de ce code est que Lotus doit être ouvert sur le PC concerné sinon Lotus se lance mais il faut saisir le mot de passe (donc ce n'est pas automatique)
2ème Méthode:
Le soucis de ce code est que l'envoi est automatique (mot de passe passé en VBA) mais lors de l'ouverture du mail chez le destinataire, il y a 5 fois l'erreur: "Un masque enregistré ne doit pas contenir de sous-masque calculés" (et le message s'ouvre ensuite)
Quelqu'un a t-il une solution pour passer le mot de passe en automatique( via le code VBA) avec la 1ère méthode ou formater correctement le message (pour ne plus avoir d'erreur à la lecture) avec la 2ème méthode ?
D'avance merci
Bonjour,
J'ai trouvé 2 codes différents pour envoyer un mail automatiquement à un destinataire avec Lotus Notes 6.5. Les 2 fonctionnent mais malheureusement, chacun d'eux comporte un peu problème qui me dérange.
1ère Méthode:
Code:
Sub SendNotesMail()
On Error Resume Next
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)
Set Session = CreateObject("Notes.NotesSession")
UserName = Session.UserName
MailDbName = Left$(UserName, 1) & Right$(UserName, (Len(UserName) - InStr(1, UserName, " "))) & ".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 = "Envoi Automatique ......"
MailDoc.body = "message....."
MailDoc.SAVEMESSAGEONSEND = saveit
'Send the document
MailDoc.PostedDate = Now()
MailDoc.Send 0, "306xshdi@xxxxxxx.fr"
'Clean Up
Set Maildb = Nothing
Set MailDoc = Nothing
Set AttachME = Nothing
Set Session = Nothing
Set EmbedObj = Nothing
End Sub
Le petit soucis de ce code est que Lotus doit être ouvert sur le PC concerné sinon Lotus se lance mais il faut saisir le mot de passe (donc ce n'est pas automatique)
2ème Méthode:
Code:
Private Sub UseLotus()
Dim Session As Object
Dim db As Object
Dim doc As Object
Dim rtitem As Object
Dim object As Object
Dim fs As Object
Dim Principaux(2) As String
Dim Copies(3) As String
Dim dir As Object
Dim inti As Integer
Dim passwd As String
On Error GoTo TraiteErreur
'Demande le password Lotus
passwd = ".....mot_de_passe_à_renseigner........"
' Création de la session Notes
Set Session = CreateObject("Lotus.NOTESSESSION")
'Ouverture d'une session NOTES
Call Session.Initialize(passwd)
Set dir = Session.GetDbDirectory("......nom_du_serveur_à_renseigner.......")
Set db = dir.OpenMailDatabase
Set doc = db.CreateDocument
Call doc.AppendItemValue("Form", "Memo")
Call doc.APPENDITEMVALUE("Sendto", "306xshdi@xxxxxxx.fr")
Call doc.AppendItemValue("subject", "Envoi Automatique.....")
Call doc.AppendItemValue("body", "Message....")
doc.SAVEMESSAGEONSEND = saveit
Call doc.Send(True)
Set object = Nothing
Set rtitem = Nothing
Set doc = Nothing
Set db = Nothing
Set Session = Nothing
Exit Sub
TraiteErreur:
MsgBox "Erreur Critique durant l'envoi .", vbCritical, "Error"
Set object = Nothing
Set rtitem = Nothing
Set doc = Nothing
Set db = Nothing
Set Session = Nothing
Set fs = Nothing
End Sub
Le soucis de ce code est que l'envoi est automatique (mot de passe passé en VBA) mais lors de l'ouverture du mail chez le destinataire, il y a 5 fois l'erreur: "Un masque enregistré ne doit pas contenir de sous-masque calculés" (et le message s'ouvre ensuite)
Quelqu'un a t-il une solution pour passer le mot de passe en automatique( via le code VBA) avec la 1ère méthode ou formater correctement le message (pour ne plus avoir d'erreur à la lecture) avec la 2ème méthode ?
D'avance merci
Dernière édition: