Problème Affichage du "new memo" lors de l'envoie d'un mail sous lotus notes

daimadoshi60 Messages postés 58 Date d'inscription jeudi 12 mars 2009 Statut Membre Dernière intervention 25 juin 2015 - 26 janv. 2010 à 15:00
cs_bakman Messages postés 2 Date d'inscription dimanche 26 novembre 2006 Statut Membre Dernière intervention 3 mars 2011 - 3 mars 2011 à 10:28
Bonjour à tous,

On m'a demandé de créer un petit bouton dans access permettant d'envoyer un mail via Lotus Notes contenant une pièce jointe bien défini.
Après plusieurs recherche et adaptation, j'ai reussi a créer une fonction qui me permet d'effectuer l'envoie de mail et elle marche niquel. Cependant (Ba oui ya toujours un mais...lol) l'envoie s'effectue en tache de fond, et ce n'est pas ce que je souhaite. Je souhaite que l'utilisateur saisise manuellement, et directement dans le "new memo" les destinataire qu'ils souhaitent.
Je sais aussi que c'est la fonction "Call MailDoc.Send(False)" situé à la fin que je dois enlever (car cela envoie le mail automatiquement), mais comme dit précédemment je n'arrive pas afficher le "New Memo" (j'ai essayé MailDoc.display mais c'est non reconnu par le systeme)
Je ne sais pas si je suis bien clair, auquel cas n'hesitez pas a me demander des complements d'informations.

Voici, ci dessous mon code

Function SendNotesMail(Subject As String, Attachment As String, Recipient As String, SaveIt As Boolean) As Boolean

'*********************************************
'Repris et développé par EvilGost et complété par Moi ;)
'Subject: Sujet du mail
'Attachment: Chemin complet du fichier à attacher (ex: "C:\test.txt"),
'sinon, mettre "" /
'Recipient: Destinataire (ex: "xxx@wanadoo.fr")
'SaveIt: sauvegarde du mail dans les courriers envoyés
'*************************************************************************************************************
'Set up the objects required for Automation into Lotus Notes
Dim Maildb As NotesDatabase 'The mail database
Dim UserName As String 'The current users notes name
Dim MailDoc As Object 'The mail document itself
Dim AttachME As Object 'The attachment richtextfile object
Dim oSession As NotesSession
Dim dbDirectory As NotesDbDirectory
Dim EmbedObj As Object 'The embedded object (Attachment)
Dim objNotesField As Object ' Déclaration de la variable concernant le corps du message

On Error GoTo ErrHandle

Set oSession = New NotesSession
'Démarre une session de notes

' La ligne suivante ne marche qu'avec les versions 5.x et 6.x ,
' c'est l'injection du mot de passe

oSession.Initialize ("Password")

'Récupère le nom par défaut de la session
UserName = oSession.UserName

'Ouvre la base mail en utilisant le serveur par défaut
Set dbDirectory = oSession.GetDbDirectory("Adresse Serveur") 'vous pouvez mettre l'adresse du serveur dans ces parentheses
Set Maildb = dbDirectory.OpenMailDatabase

'Création du formulaire d'envoi de mail
Set MailDoc = Maildb.CreateDocument()

MailDoc.AppendItemValue "Subject", Subject ' remplissage du Sujet
MailDoc.AppendItemValue "SendTo", Recipient ' adresse du destinataire Email(i)
MailDoc.AppendItemValue "ReturnReceipt", "1" ' pour avoir un accusé réception (qu'avec des clients Lotus, Orange)

' Construction du corps du message
Set objNotesField = MailDoc.CreateRichTextItem("Body")

With objNotesField
.AppendText "Bonjour,"
.AddNewLine 2
.AppendText "Ci-joint Fichier Avissouf au format PDF."
.AddNewLine 2
.AppendText "Vous trouverez dans le fichier joint."
.AddNewLine 2
.AppendText "********************************************"
.AddNewLine 2
.AppendText "Cet e-mail a été généré par un processus automatique."
.AddNewLine 2
.AppendText "Cordialement"
.AddNewLine 1
.AppendText "Mathieu Moeyaert"
.AddNewLine 3
End With

'Permet d'attacher un document au mail
If Attachment <> "" Then
Set AttachME = MailDoc.CreateRichTextItem("Attachment")
Set EmbedObj = AttachME.EmbedObject(1454, "", Attachment, "Attachment")
End If

'Envoi du document

If SaveIt = True Then
MailDoc.SaveMessageOnSend = SaveIt 'si à True, Lotus sauvegarde le mail envoyé
End If

Call MailDoc.Send(False)

'prvSendNotesMail = True
GoTo ExitHandle

ErrHandle:
MsgBox err.Description
'prvSendNotesMail = False

ExitHandle:
'Vidage mémoire
Set Maildb = Nothing
Set MailDoc = Nothing
Set AttachME = Nothing
Set oSession = Nothing
Set dbDirectory = Nothing
Set EmbedObj = Nothing

End Function

D'avance merci

3 réponses

daimadoshi60 Messages postés 58 Date d'inscription jeudi 12 mars 2009 Statut Membre Dernière intervention 25 juin 2015
27 janv. 2010 à 09:22
Allez svp, je galère vraiment sur ce truc, c'est la misère !

Si un boss du VBA veux bien venir a mon secour ??

Merci
0
daimadoshi60 Messages postés 58 Date d'inscription jeudi 12 mars 2009 Statut Membre Dernière intervention 25 juin 2015
28 janv. 2010 à 08:55
C'est bon j'ai réussi a me débrouillé en utilisant plusieurs codes differents trouvé sur la toile.

A+
0
cs_bakman Messages postés 2 Date d'inscription dimanche 26 novembre 2006 Statut Membre Dernière intervention 3 mars 2011
3 mars 2011 à 10:28
Ravis que tu ai trouvé comment te sortir de là!
Mais personnellement quand je trouve réponse à ma question je poste la réponse! Ca s'appelle de l'entraide! Alors pense y la prochaine fois
0
Rejoignez-nous