VBA Envoi de mail avec Lotus Notes V7 - Problème de password

Signaler
Messages postés
3
Date d'inscription
mercredi 14 novembre 2007
Statut
Membre
Dernière intervention
19 novembre 2007
-
Messages postés
3
Date d'inscription
mercredi 14 novembre 2007
Statut
Membre
Dernière intervention
19 novembre 2007
-
Bonjour,

Je développe actuellement un outil Access qui génère des rapports Excel qui doivent être envoyés à plusieurs destinataires. J'essaie d'automatiser cet envoi en programmant cela dans un module VBA.

J'utilise pour cela le code suivant :

Sub SendMailAttachment()




'******************************************************************************
' Code Created 01/20/2004, MEMSr.
' This Module was created so the end-user can automatically save as an Excel
' file after report is refreshed.  The Excel document is then attached to Lotus
' Notes and an email is sent to their inbox for review.  After review the Excel
' document can be forward to additional recipents.  Note:  You must have Lotus
' Notes loaded on the local machine in order to run the macro.  Also, you will
' need to have the Lotus Notes Library Reference added to the vb editor before
' the code will compile.
'******************************************************************************
   
    '  The code below is used to send Lotus Notes email attachment for the
    '  newly created Excel spreadsheet(s).  Note:  Lotus Notes does not have to
    '  be open at the time, but must be loaded on the local machine.
   
    Dim domSession As New NotesSession
    Dim domNotesDBMailFile As NotesDatabase
    Dim domNotesDocumentMemo As NotesDocument
    Dim domNotesRichText As NotesRichTextItem
    Dim strAttachment As String
   
    domSession.Initialize ("myPassword")    'Prompts user for Lotus Notes Password
   
    Set domNotesDBMailFile = domSession.GetDatabase("", "C:\Program Files\lotus\notes\data\myMailDatabase.nsf")
    Set domNotesDocumentMemo = domNotesDBMailFile.CreateDocument
   
    Call domNotesDocumentMemo.AppendItemValue("Form", "Memo")
    Call domNotesDocumentMemo.AppendItemValue("SendTo", "


[mailto:recipient@somewhere.com

recipient@somewhere.com


]

")
    Call domNotesDocumentMemo.AppendItemValue("Subject", "myMailSubject")
   
    Set domNotesRichText = domNotesDocumentMemo.CreateRichTextItem("Body")
   
    strAttachment = "c:\myAttachement.pdf"
   
    Call domNotesRichText.EmbedObject(EMBED_ATTACHMENT, "", strAttachment, "")
   
    domNotesRichText.AppendText ("Here is your file")
   
    domNotesDocumentMemo.Send (False)
    
    domNotesDBMailFile.Replicate "myServerName"






End Sub




Lorsque Lotus est déjà ouvert (même si la session est 'lockée') cela ne pose pas de soucis. En revanche, lorsque Lotus est fermé, le code précédent fonctionne bien, mais le message ne part que quand j'ouvre Lotus moi-même et que je tape mon mot de passe. J'ai pourtant essayé de forcer une réplication (dernière ligne) mais cela ne marche pas.

J'avais fait d'autres tests avec le code de la page suivante http://www.vbfrance.com/codes/ENVOYER-MAIL-AVEC-LOTUS-NOTES-AVEC-MULTI-DIFFUSION_40826.aspx

mais je rencontre un même genre de problème.

Dans ce second cas, quand Lotus est ouvert, pas de soucis.
En revanche lorsqu'il est fermé, il se lance (contrairement a mon code ci dessus), mais reste bloqué sur la demande de password et la commande 'Initialise' génère une erreur (non supporté par l'objet).

Ces mails devraient partir vers 4h du matin, donc je ne serais pas là pour taper ce mot de passe.

Sauriez vous comment contourner ce problème ?

J'ai cherché pendant pas mal de temps, beaucoup de codes fonctionnent bien tant que Lotus est ouvert, mais aucun ne semble répondre à mon besoin, a savoir ouvrir Lotus et lui passer mon mot de passe automatiquement.

Merci d'avance pour toute aide que vous pourriez m'apporter.

Bonne journée,

1 réponse

Messages postés
3
Date d'inscription
mercredi 14 novembre 2007
Statut
Membre
Dernière intervention
19 novembre 2007

Re bonjour,

j'ai pas trouvé de bouton Edit pour corriger mon message alors voici :

Quand je dis que Lotus s'ouvre avec la 2e solution, c'est parce que j'ai pioché quelques lignes de code dans la page suivante http://access.developpez.com/sources/?page=ole

Bonne journée