Insérer une signature automatique sur lotus + Ajouter la pièce jointe au corps d

samsonbc37 Messages postés 7 Date d'inscription lundi 14 juin 2010 Statut Membre Dernière intervention 24 juin 2010 - 14 juin 2010 à 14:49
samsonbc37 Messages postés 7 Date d'inscription lundi 14 juin 2010 Statut Membre Dernière intervention 24 juin 2010 - 24 juin 2010 à 10:17
Bonjour,
Je développe actuellement un programme en vba. Ce programme crée un document word à partir des données d'excel, crée un mail sur lotus ajoute ce document en pièce jointe. Le tout fonctionne convenablement.
Mais perfectionniste dans l?âme, j'aimerais améliorer le mail généré :
- Insérer ma signature
- Mettre ma pièce jointe dans le c'ur du mail.
Je pense que les problèmes que je rencontre pourraient bien aider beaucoup de personnes et améliorer les codes de tout le monde!
Attaquons nous (s'il vous plait !!!) d'abord à ce premier problème :
Je voudrais absolument joindre à mon mail ma signature préenregistré dans lotus (signature en html il me semble) comme lorsque je crée un nouveau mail manuellement. Impossible de trouver la réponse? J'ai cherché sur des pages et des pages de forum français, anglais, américain chinois ou japonais? Rien à faire !
J'espère qu'une personne calée sur la question existe sur cette terre?

Je vous transmets mon code pour envoyer mon mail et quelques bribes de codes que j'ai pu trouver sur la toile qui traite plus ou moins de la question?
Mon code :

' --------- Envoi d'un mail avec Lotus Notes ---------- .
'Ajouter la référence Lotus Domino Objects (domobj.tlb) .
'Cocher Référence [x]Lotus Domino Objects .

Application.ScreenUpdating = False
'------- compléter les variables nécessaires pour envoi --------------
AdresDestinataire$ = "adressedest@adressedest.com"
Sujet$ = sujetlot ' sujet
Message$ = "Bonjour" & vbCrLf & vbCrLf ' message



'------ départ envoi messagerie --------
'met en tableau si plusieurs adresses !?
If InStr(AdresDestinataire$, ";") 0 Then AdresDestinataire$ AdresDestinataire$ & ";"

TabloAdresDestin = Split(AdresDestinataire$, ";")

'------ préparation session ------
On Error GoTo ErreurNET: Err.Clear


' Création de la session
Set oSession = CreateObject("Notes.NotesSession")
' Récupèration du nom d'utilisateur
UserName = oSession.UserName
DataBaseName = Left$(UserName, 1) & Right$(UserName, (Len(UserName) - InStr(1, UserName, " "))) & ".nsf"
' Ouvre la base des mails (si fermé, ouvre et demande le password)
Set DataBase = oSession.GetDatabase("", DataBaseName)
If Not DataBase.IsOpen Then DataBase.OPENMAIL

' boucle envoi au(x) destinataire(s)
For i = LBound(TabloAdresDestin) To UBound(TabloAdresDestin)
If Trim(TabloAdresDestin(i)) > "" Then
AdresDestinataire$ = TabloAdresDestin(i)
'crée le document et colle /AdresDestinataire /Sujet /Message
Set Document = DataBase.CreateDocument
Document.Form = "Memo"
Document.Sendto = AdresDestinataire$
Document.Subject = Sujet$
Document.Body = Message$ & vbCrLf & vbCrLf





'------------------PIECES JOINTES---------




Fichier$ = nomdoc ' "NomDuFichier.xls"
Chemin$ emplacementfichier ' chemin du fichier exp: ThisWorkbook.Path
If Chemin$ > "" And Right(Chemin$, 1) "" Then Chemin$ = Chemin$ & ""
CheminEtFichier$ = Chemin$ & Fichier$

If CheminEtFichier$ "" Then
Set AttachME = Document.CreateRichTextItem("Attachment")
Set AttachF1 = AttachME.EmbedObject(1454, "", CheminEtFichier, "Attachment")
End If

----------------------FIN-------------------------------------------
Code trouvé sur un blogue :
' ------------------------------------------------
' --- You may use and/or change this code freely
' --- provided you keep this message in your code
' ---
' --- Example by Max Flodén 2005
' --- http://www.tjitjing.com
' ------------------------------------------------
Dim workspace As New NotesUIWorkspace
Dim dbMail As NotesDatabase
Dim docMail As NotesDocument
Dim rtitem As NotesRichTextItem
Dim docProfile As NotesDocument
Dim strProfileEnableSignature As String
'Open users mail database
Set dbMail = New NotesDatabase( "", "" )
Call dbMail.OpenMail
If Not dbMail.IsOpen Then
Call Messagebox("Could not open mail database.", 48, "Error")
Exit Sub
End If
'Create new memo from back end
Set docMail = dbMail.CreateDocument
docMail.Form = "Memo"
docMail.Subject = "Hello"
Set rtitem = New NotesRichTextItem( docMail, "Body" )
Call rtitem.AppendText("Hello world!")
Call rtitem.AddNewline(1)
Call rtitem.Update 'Update method is new in ND6
'Disable signature in users mail profile
Set docProfile = dbMail.GetProfileDocument("CalendarProfile")
strProfileEnableSignature = docProfile.EnableSignature(0)
If strProfileEnableSignature = "1" Then
docProfile.EnableSignature = ""
Call docProfile.Save(True,False)
End If
'Show memo to UI/front end
Set uidoc = workspace.EditDocument(True, docMail,,,True,True)
'Re-enable signature in users mail profile
If strProfileEnableSignature = "1" Then
docProfile.EnableSignature = "1"
Call docProfile.Save(True,False)
End If
Sur
http://www-10.lotus.com/ldd/nd6forum.nsf/ReleaseAllThreadedweb/4c3cc18aff29b64d852570910042b2d3?OpenDocument

J'ai aussi
http://www.silverark.co.uk/knowledge/visual-basic/set_signature_of_lotus_notes_through_api

Et enfin http://www.lotusgeek.com/LotusGeekBlog.nsf/d6plinks/ROLR-6M3LX9

2 réponses

samsonbc37 Messages postés 7 Date d'inscription lundi 14 juin 2010 Statut Membre Dernière intervention 24 juin 2010
21 juin 2010 à 13:35
s'il vous plait.... aidez-moi
0
samsonbc37 Messages postés 7 Date d'inscription lundi 14 juin 2010 Statut Membre Dernière intervention 24 juin 2010
24 juin 2010 à 10:17
Vous pensez qu'on peut réutiliser cette commande : docProfile.EnableSignature = "1" ??? Si oui de quelle manière pour afficher la signature?
0
Rejoignez-nous