maitlo et bouton/userform [VBA] - VB/VBA/VBS - Programmation
Marsh Posté le 16-12-2005 à 09:33:44
Avec cette macro dans un module tu peux l'appeler de n'importe où (userform ou autre) 
la Dll lotus doit être référencé dans ton projet. 
Si tu as un blème fait signe, j'ai plusieurs exemple fonctionnels en service. 
 
Macro qui créer un mail et l 'envoi avec ou sans Lotus notes d'ouvert. La macro utilise les fonctions COM de lotus (version > 5.0.2b) 
 
Condition de développement : 
Windows 2000 
Office 2000 
Lotus Notes 5.0.10 
 
Source :  
 
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(Dans le cas ou la session necessite un passwd) 
passwd = InputBox("Entrer votre password Lotus:", "Password" ) 
 
' Création de la session Notes 
Set Session = CreateObject("Lotus.NOTESSESSION" ) 
 
'Ouverture d'une session NOTES 
Call Session.Initialize(passwd)'si pas de passwd pas de parametre pour initialize 
 
Set dir = Session.GETDBDIRECTORY("FranceServer1/DCI/BME/Omnia Group" ) 
Set db = dir.OpenMailDatabase 
 
' Création d'un document 
Set doc = db.CREATEDOCUMENT 
 
'affectation du type mail 
Call doc.APPENDITEMVALUE("Form", "Memo" ) 
 
Call doc.APPENDITEMVALUE("Sendto", "destinataire@vba.com" ) 
Call doc.APPENDITEMVALUE("subject", "sujet" ) 
doc.SAVEMESSAGEONSEND = saveit 'sauvegarde du mail à l envoi 
 
Set rtitem = doc.createRichTextItem("Body" ) 
 
 
Dim nom As String  
nom = ThisWorkbook.FullName 
'Attachement du classeur au mail 
Set object = rtitem.embedObject(1454, "", nom,"" ) 
 
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 
Marsh Posté le 22-12-2005 à 09:49:16
| jmlucienvb a écrit :   | 
 
 
 
 
J'ai lotus notes 6.5 et la ùgBox "Erreur Critique durant l envoi ." qui s'affiche après la saisie du mot de pass. 
 
Par contre je n'ai pas déclarer la DLL lotus dans mon projet car je ne connais pas sa synthaxe et comment la déclarér... 
 
Une p'tite aide ?
Marsh Posté le 22-12-2005 à 10:15:20
Tu vas dans outils référence 
Tu cherches dans la liste une référence à lotus notes et tu coches 
Cela doit suffir; j'ai lotus v6.5 et cela fonctionne bien 
Si blème, je suis loin de mes postes informatiques jusqu'au 31 :Tél 06.73.36.82.35 
JM
Marsh Posté le 15-12-2005 à 14:51:12
Bonjour,
J'ai cette macro qui fonctionne avec un lien hypertext dans un cellule ( ça ouvre bien mon client de messagerie par defaut (lotus notes))
Range("B5" ).Select
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:= _
"mailto:xxxx@yyyy.com?subject=Application Gestion des Stock", _
TextToDisplay:="liens dans cellule"
J'essaye de coder la même chose lors d'un clic sur un bouton d'un userform mais sans succes.
Une idée ?
merci bien