Où trouver des infos pour envoyer des mails avec Lotus grace à VB - VB/VBA/VBS - Programmation
Marsh Posté le 06-07-2005 à 15:10:12
tien voici la solution !
'Public Sub SendNotesMail(Subject as string, attachment as string,
'recipient as string, bodytext as string,saveit as Boolean)
'This public sub will send a mail and attachment if neccessary to the
'recipient including the body text.
'Requires that notes client is installed on the system.
Public Sub SendNotesMail(Subject As String, Attachment, Recipient As String, BodyText As Variant, SaveIt As Boolean)
'Set up the objects required for Automation into lotus notes
Dim Maildb As Object 'The mail database
Dim UserName As String 'The current users notes name
Dim Corps_Msg As String ' text du courriel
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)
'Start a session to notes
Set Session = CreateObject("Notes.NotesSession" )
'Next line only works with 5.x and above. Replace password with your password
' Session.Initialize ("password" )
'Get the sessions username and then calculate the mail file name
'You may or may not need this as for MailDBname with some systems you
'can pass an empty string or using above password you can use other mailboxes.
MailDbName = Left$(UserName, 1) & Right$(UserName, (Len(UserName) - InStr(1, UserName, " " ))) & ".nsf"
UserName = Session.UserName
SearchString = Recipient
SearchChar = "@"
MyPos = InStr(1, SearchString, SearchChar, vbTextCompare)
Destinataire = Left(SearchString, MyPos - 1)
'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.sendto = Recipient
MailDoc.Subject = Subject
MailDoc.Body = BodyText
MailDoc.SAVEMESSAGEONSEND = SaveIt
'Set up the embedded object and attachment and attach it
Application.FileSearch.LookIn = "C:\XXXXXXX"
Set AttachME = MailDoc.CREATERICHTEXTITEM("Attachment" )
Set EmbedObj = AttachME.EMBEDOBJECT(1454, "", Attachment, "Attachment" )
MailDoc.CREATERICHTEXTITEM ("Attachment" )
'Send the document
MailDoc.PostedDate = Now() 'Gets the mail to appear in the sent items folder
MailDoc.SEND 0, Recipient
'Clean Up
Set Maildb = Nothing
Set MailDoc = Nothing
Set AttachME = Nothing
Set Session = Nothing
Set EmbedObj = Nothing
End Sub
Marsh Posté le 21-10-2005 à 14:00:50
Bonjour j'utilise un code qui me permet d'envoyer un mail d'excel via lotus notes avec une pièce jointe .
je voudrais aussi dans le corps de mon mail quema pièce jointe soit visible
qqn aurait -une idée svp
je suis débutante
Marsh Posté le 16-08-2007 à 15:42:08
Dakar, Merci pour le code. Es ce que tu saurais quoi modifier pour le faire marcher en VBScript à tout hasard, impossible de le faire marcher en m'en tennant aux recommandations du redbook d'IBM à ce sujet
Marsh Posté le 16-08-2007 à 16:34:10
nicolbolas a écrit : Dakar, Merci pour le code. Es ce que tu saurais quoi modifier pour le faire marcher en VBScript à tout hasard, impossible de le faire marcher en m'en tennant aux recommandations du redbook d'IBM à ce sujet |
Le code en vbs, il existe aussi des options qui permette de mettre des piéces jointes
' Envoi automatique d'un message avec fichiers joints.
' Nécéssite Windows 2000/XP ou une installation
' Microsoft Office (Outlook).
' JMST@ & Paskal & Mithrandir
' WWW.FAQOE.COM
'
'
On Error Resume Next
With CreateObject("CDO.Message" )
If Err Then
MsgBox "CDO non installé"
Else
.From="nom_de@emeteur.com"
.To="nom_du@destinataire.com"
.Subject="LE SUJET"
.TextBody="LE TEXTE"
.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusing" ) = 2
.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserver" ) = "smtp.free.com" 'par exemple
.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserverport" ) = 25
'.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername" ) = "NOM D'UTILISATEUR DU COMPTE QUI ENVOIE LES MAIL"
'.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword" ) = "MOT DE PASSE DU COMPTE QUI ENVOIE LES MAILS"
.Configuration.Fields.Update
.Send
If Err Then MsgBox "Le message n'a pas pu être expédié."
End If
On Error GoTo 0
End With
'
'
'Le script est crée automatiquement, mais les éventuelles
'erreurs de syntaxe d'adresses, ou de format de mail ne
'sont pas corrigées.
'Attention aux guillements dans le corps du message.
Marsh Posté le 15-06-2005 à 21:51:37
Bonjour,
J'ai trouver le code de la macro pour envoyer des mails avec Lotus grace à Excel/VB. Le problème c'est que je veux pouvoir mieux maîtriser les paramètres l'envoie du mail, c'est donc un peu plus compliqué et je n'arrive pas à le faire. (Mettre plusieurs déstinataires, plusieurs pièces jointes, pouvoir modifier le mail avant de l'envoyer...)
Savez-vous où je peux trouver toutes ces infos (Forum, sites...)