Macro pour envoyer des mails sous Lotus Notes
Fermé
wam202
Messages postés
34
Date d'inscription
mardi 18 mars 2008
Statut
Membre
Dernière intervention
25 mars 2020
-
18 mars 2008 à 11:52
huitieme passager - 9 mars 2015 à 17:22
huitieme passager - 9 mars 2015 à 17:22
A voir également:
- Macro pour envoyer des mails sous Lotus Notes
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Macro word - Guide
- Gmail envoyer un mail - Guide
- Lotus organizer - Télécharger - Organisation
- Jitbit macro recorder - Télécharger - Confidentialité
5 réponses
madjon6
Messages postés
262
Date d'inscription
mercredi 2 janvier 2008
Statut
Membre
Dernière intervention
30 novembre 2017
79
2 avril 2008 à 17:05
2 avril 2008 à 17:05
no se
madjon6
Messages postés
262
Date d'inscription
mercredi 2 janvier 2008
Statut
Membre
Dernière intervention
30 novembre 2017
79
18 mars 2008 à 11:58
18 mars 2008 à 11:58
Bonjour interresé aussi
Merci
Merci
wam202
Messages postés
34
Date d'inscription
mardi 18 mars 2008
Statut
Membre
Dernière intervention
25 mars 2020
14
18 mars 2008 à 12:00
18 mars 2008 à 12:00
J'ai oublié de (re)préciser que je souhaite que les mails soient envoyés sous Lotus Notes ...
Salut j'ai développé une macro sous excel pour mes besoins elle fonctionne pour ouvrir des incidents auprès de notre centre d'incident.
Pour utiliser il faut :
- Créer un module dans excel et faire un copier coller du code ci dessous
- Créer un bouton auquel on associe l'appel à la fonction sendnotesmail avec en paramétre les données de la fonction, j'ai pris des nom signifiant pour simplifier.
- Attention : recipient est une table (a vous de voir combien de destinataires maxi vous voulez (moi j'en ai mis deux)
- Responsable est pour moi le demandeur (la personne qui est en copie on peut mettre une table aussi mais il faut mettre variant à la place de string. j'ai préparé les destinataires cachés mais sans les utiliser.
Les commentaires sont en anglais, car pour moi c'est plus facile (question d'habitude) ayant toujours programmé en anglais.
Si ce code vous a été utile merci de me la faire savoir, ça me fera plaisir. ;-)
Bye !
Sub SendNotesMail(subject As String, Attachment As String, recipient As Variant, bodytext As String, SaveIt As Boolean, responsable As String)
'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 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)
Dim test1 As String
Dim test2 As Integer
Dim Len_Att As Double
Dim Str_Att, St_Len As Double
Dim Nbr_Att As Integer
Dim Att_Pos, St_Str, St_Pos As Integer
Dim X_Attachement$
Dim X_Attach, Str_SendTo As String
'Start a session to notes
Set Session = CreateObject("Notes.NotesSession")
'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
UserName = Session.UserName
'test1 = Sheets("demande").Cells(1, 3)
'test2 = InStr(3, Sheets("demande").Cells(1, 3), " ")
MailDbName = " "
'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
If Attachment <> " " Then
Set AttachME = MailDoc.CREATERICHTEXTITEM(Attachment)
Set EmbedObj = AttachME.embedobject(1454, "", Attachment, "ATT")
MailDoc.CREATERICHTEXTITEM ("ATT")
End If
MailDoc.Form = "Memo"
MailDoc.sendto = recipient
'MailDoc.CopyTo = responsable
'MailDoc.BlindCopyTo = bccRecipient
'sendto(0) = first
'sendto(1) = second
' maildoc.sendto = sendto
If responsable <> " " Then
MailDoc.Copyto = responsable
End If
MailDoc.subject = subject
MailDoc.body = bodytext
MailDoc.SAVEMESSAGEONSEND = SaveIt
'Set up the embedded object and attachment and attach it
'read the attachment string and generate a number of attachment equal to the selected attachment
'must be separated by a chr$(10)
'in case of other separator change the instr$ command
'
' Set AttachME = MailDoc.CREATELINKHOTSPOTITEM("file:\\chaumapps\partage$")
' Set EmbedObj = AttachME.embedobject(AttachME)
'
'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
Pour utiliser il faut :
- Créer un module dans excel et faire un copier coller du code ci dessous
- Créer un bouton auquel on associe l'appel à la fonction sendnotesmail avec en paramétre les données de la fonction, j'ai pris des nom signifiant pour simplifier.
- Attention : recipient est une table (a vous de voir combien de destinataires maxi vous voulez (moi j'en ai mis deux)
- Responsable est pour moi le demandeur (la personne qui est en copie on peut mettre une table aussi mais il faut mettre variant à la place de string. j'ai préparé les destinataires cachés mais sans les utiliser.
Les commentaires sont en anglais, car pour moi c'est plus facile (question d'habitude) ayant toujours programmé en anglais.
Si ce code vous a été utile merci de me la faire savoir, ça me fera plaisir. ;-)
Bye !
Sub SendNotesMail(subject As String, Attachment As String, recipient As Variant, bodytext As String, SaveIt As Boolean, responsable As String)
'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 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)
Dim test1 As String
Dim test2 As Integer
Dim Len_Att As Double
Dim Str_Att, St_Len As Double
Dim Nbr_Att As Integer
Dim Att_Pos, St_Str, St_Pos As Integer
Dim X_Attachement$
Dim X_Attach, Str_SendTo As String
'Start a session to notes
Set Session = CreateObject("Notes.NotesSession")
'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
UserName = Session.UserName
'test1 = Sheets("demande").Cells(1, 3)
'test2 = InStr(3, Sheets("demande").Cells(1, 3), " ")
MailDbName = " "
'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
If Attachment <> " " Then
Set AttachME = MailDoc.CREATERICHTEXTITEM(Attachment)
Set EmbedObj = AttachME.embedobject(1454, "", Attachment, "ATT")
MailDoc.CREATERICHTEXTITEM ("ATT")
End If
MailDoc.Form = "Memo"
MailDoc.sendto = recipient
'MailDoc.CopyTo = responsable
'MailDoc.BlindCopyTo = bccRecipient
'sendto(0) = first
'sendto(1) = second
' maildoc.sendto = sendto
If responsable <> " " Then
MailDoc.Copyto = responsable
End If
MailDoc.subject = subject
MailDoc.body = bodytext
MailDoc.SAVEMESSAGEONSEND = SaveIt
'Set up the embedded object and attachment and attach it
'read the attachment string and generate a number of attachment equal to the selected attachment
'must be separated by a chr$(10)
'in case of other separator change the instr$ command
'
' Set AttachME = MailDoc.CREATELINKHOTSPOTITEM("file:\\chaumapps\partage$")
' Set EmbedObj = AttachME.embedobject(AttachME)
'
'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
wam202
Messages postés
34
Date d'inscription
mardi 18 mars 2008
Statut
Membre
Dernière intervention
25 mars 2020
14
>
dragon75
2 avril 2008 à 14:29
2 avril 2008 à 14:29
Merci beaucoup, j'ai hâte de la tester !!
en revanche, mon anglais est plutôt moyen... vous serait -il possible de traduire, svp ?
d'avance merci
++
en revanche, mon anglais est plutôt moyen... vous serait -il possible de traduire, svp ?
d'avance merci
++
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
wam202
Messages postés
34
Date d'inscription
mardi 18 mars 2008
Statut
Membre
Dernière intervention
25 mars 2020
14
2 avril 2008 à 14:32
2 avril 2008 à 14:32
que signifie "(subject As String, Attachment As String, recipient As Variant, bodytext As String, SaveIt As Boolean, responsable As String)" au début ?
sont-ce les variables à déclarer ?
sont-ce les variables à déclarer ?