Enoyer un mail sous Excel via Lotus Notes
debutante-excel
Messages postés
195
Date d'inscription
Statut
Membre
Dernière intervention
-
senecartour Messages postés 324 Date d'inscription Statut Membre Dernière intervention -
senecartour Messages postés 324 Date d'inscription Statut Membre Dernière intervention -
Bonjour à Tous,
J’ai besoin d’envoyer par mail un classeur Excel (le classeur actif) via lotus note version 6.
J’ai fait une recherche sur le net et j’ai pratiquement trouvé mon bonheur, si si ca arrive.
J'ai trouvé cette macro ( elle suit juste derrière) permettant d'envoyer des mails via Lotus Notes à partir d'Excel.
Si quelqu’un peut m’aider à adapter et modifier ce code afin que je puisse :
Remplir le sujet du mail,
Mettre plusieurs destinataires du mail,
Remplir un petit baratin dans le corps du message avec les éventuels RC (retour à la ligne).
Es-ce qu’on peut renseigner quelque part l’émetteur du mail ?
D'avance merci pour votre aide.
Sub SendNotesMail()
'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)
'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
MailDbName = Left$(UserName, 1) & Right$(UserName, (Len(UserName) - InStr(1, UserName, " "))) & ".nsf"
'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 = Worksheets(3).Cells(2, 2).Value
MailDoc.CopyTo = "dgiry@technip.com"
MailDoc.Subject = Worksheets(3).Cells(1, 2).Value
MailDoc.Body = Worksheets(3).Cells(3, 2).Value
MailDoc.SaveMessageOnSend = SaveIt
'Set up the embedded object and attachment and attach it
Attachment1 = Worksheets(3).Cells(4, 2).Value
Attachment2 = Worksheets(3).Cells(5, 2).Value
Attachment3 = Worksheets(3).Cells(6, 2).Value
If Attachment1 <> "" And Attachment2 <> "" And Attachment3 <> "" Then
Set AttachME = MailDoc.CREATERICHTEXTITEM("Attachment1")
Set EmbedObj = AttachME.EMBEDOBJECT(1454, "", Attachment1, "Attachment1")
MailDoc.CREATERICHTEXTITEM (Attachment1)
Set AttachME = MailDoc.CREATERICHTEXTITEM("Attachment2")
Set EmbedObj = AttachME.EMBEDOBJECT(1454, "", Attachment2, "Attachment2")
MailDoc.CREATERICHTEXTITEM (Attachment2)
Set AttachME = MailDoc.CREATERICHTEXTITEM("Attachment3")
Set EmbedObj = AttachME.EMBEDOBJECT(1454, "", Attachment3, "Attachment3")
MailDoc.CREATERICHTEXTITEM (Attachment3)
End If
'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
J’ai fait une seconde recherche et j’ai trouvé ca pour les destinataires multiples.
Avec un tableau (Array), ca passe :
Code :
MailDoc.Sendto = Array(Worksheets(3).Cells(2, 2).Value, Worksheets(3).Cells(3, 2).Value)
ou si la cellule contient les adresses séparées par des virgules :
Code :
MailDoc.Sendto = Split(Worksheets(3).Cells(2, 2).Value, ",")
Je précise, je débute en Excel, et en macro et VBA je préfère même pas en parler (lol).
Merci encore d’avance pour votre aide.
Débutante-Excel
J’ai besoin d’envoyer par mail un classeur Excel (le classeur actif) via lotus note version 6.
J’ai fait une recherche sur le net et j’ai pratiquement trouvé mon bonheur, si si ca arrive.
J'ai trouvé cette macro ( elle suit juste derrière) permettant d'envoyer des mails via Lotus Notes à partir d'Excel.
Si quelqu’un peut m’aider à adapter et modifier ce code afin que je puisse :
Remplir le sujet du mail,
Mettre plusieurs destinataires du mail,
Remplir un petit baratin dans le corps du message avec les éventuels RC (retour à la ligne).
Es-ce qu’on peut renseigner quelque part l’émetteur du mail ?
D'avance merci pour votre aide.
Sub SendNotesMail()
'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)
'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
MailDbName = Left$(UserName, 1) & Right$(UserName, (Len(UserName) - InStr(1, UserName, " "))) & ".nsf"
'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 = Worksheets(3).Cells(2, 2).Value
MailDoc.CopyTo = "dgiry@technip.com"
MailDoc.Subject = Worksheets(3).Cells(1, 2).Value
MailDoc.Body = Worksheets(3).Cells(3, 2).Value
MailDoc.SaveMessageOnSend = SaveIt
'Set up the embedded object and attachment and attach it
Attachment1 = Worksheets(3).Cells(4, 2).Value
Attachment2 = Worksheets(3).Cells(5, 2).Value
Attachment3 = Worksheets(3).Cells(6, 2).Value
If Attachment1 <> "" And Attachment2 <> "" And Attachment3 <> "" Then
Set AttachME = MailDoc.CREATERICHTEXTITEM("Attachment1")
Set EmbedObj = AttachME.EMBEDOBJECT(1454, "", Attachment1, "Attachment1")
MailDoc.CREATERICHTEXTITEM (Attachment1)
Set AttachME = MailDoc.CREATERICHTEXTITEM("Attachment2")
Set EmbedObj = AttachME.EMBEDOBJECT(1454, "", Attachment2, "Attachment2")
MailDoc.CREATERICHTEXTITEM (Attachment2)
Set AttachME = MailDoc.CREATERICHTEXTITEM("Attachment3")
Set EmbedObj = AttachME.EMBEDOBJECT(1454, "", Attachment3, "Attachment3")
MailDoc.CREATERICHTEXTITEM (Attachment3)
End If
'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
J’ai fait une seconde recherche et j’ai trouvé ca pour les destinataires multiples.
Avec un tableau (Array), ca passe :
Code :
MailDoc.Sendto = Array(Worksheets(3).Cells(2, 2).Value, Worksheets(3).Cells(3, 2).Value)
ou si la cellule contient les adresses séparées par des virgules :
Code :
MailDoc.Sendto = Split(Worksheets(3).Cells(2, 2).Value, ",")
Je précise, je débute en Excel, et en macro et VBA je préfère même pas en parler (lol).
Merci encore d’avance pour votre aide.
Débutante-Excel
A voir également:
- Enoyer un mail sous Excel via Lotus Notes
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Trier un tableau excel - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
4 réponses
Voici ce que je changerais (le début est bien : tu as juste à le recopier)
'Set up the new mail document
Set MailDoc = Maildb.CREATEDOCUMENT
MailDoc.Form = "Memo"
MailDoc.Sendto = "la tu mets l'adresse mail de ton correspondant" '(laisse les "")
MailDoc.CopyTo = "l'adresse de la personne en copie" '(laisse les "")
MailDoc.Subject = "la tu mets le sujet" '(avec des "")
' Construction du corps du message
Set objNotesField = MailDoc.CreateRichTextItem("Body")
With objNotesField
.AppendText "Bonjour,"
.AddNewLine 2
.AppendText "Ci-joint la situation." 'tu peux réjouter des lignes
.AddNewLine 2
.AppendText "Cordialement"
.AddNewLine 1
.AppendText "Martin DUPONT"
.AddNewLine 3
End With
MailDoc.SaveMessageOnSend = SaveIt
'Set up the embedded object and attachment and attach it
Attachment1 = "la tu mets le chemin d'acces complet de ton fichier excel.xls"
Attachment2 = "idem 2e fichier"
Attachment3 = "idem 3e ficher"
If Attachment1 <> "" And Attachment2 <> "" And Attachment3 <> "" Then
Set AttachME = MailDoc.CREATERICHTEXTITEM("Attachment1")
Set EmbedObj = AttachME.EMBEDOBJECT(1454, "", Attachment1, "Attachment1")
MailDoc.CREATERICHTEXTITEM (Attachment1)
Set AttachME = MailDoc.CREATERICHTEXTITEM("Attachment2")
Set EmbedObj = AttachME.EMBEDOBJECT(1454, "", Attachment2, "Attachment2")
MailDoc.CREATERICHTEXTITEM (Attachment2)
Set AttachME = MailDoc.CREATERICHTEXTITEM("Attachment3")
Set EmbedObj = AttachME.EMBEDOBJECT(1454, "", Attachment3, "Attachment3")
MailDoc.CREATERICHTEXTITEM (Attachment3)
End If
et la fin est bien
Salut bonne chance
'Set up the new mail document
Set MailDoc = Maildb.CREATEDOCUMENT
MailDoc.Form = "Memo"
MailDoc.Sendto = "la tu mets l'adresse mail de ton correspondant" '(laisse les "")
MailDoc.CopyTo = "l'adresse de la personne en copie" '(laisse les "")
MailDoc.Subject = "la tu mets le sujet" '(avec des "")
' Construction du corps du message
Set objNotesField = MailDoc.CreateRichTextItem("Body")
With objNotesField
.AppendText "Bonjour,"
.AddNewLine 2
.AppendText "Ci-joint la situation." 'tu peux réjouter des lignes
.AddNewLine 2
.AppendText "Cordialement"
.AddNewLine 1
.AppendText "Martin DUPONT"
.AddNewLine 3
End With
MailDoc.SaveMessageOnSend = SaveIt
'Set up the embedded object and attachment and attach it
Attachment1 = "la tu mets le chemin d'acces complet de ton fichier excel.xls"
Attachment2 = "idem 2e fichier"
Attachment3 = "idem 3e ficher"
If Attachment1 <> "" And Attachment2 <> "" And Attachment3 <> "" Then
Set AttachME = MailDoc.CREATERICHTEXTITEM("Attachment1")
Set EmbedObj = AttachME.EMBEDOBJECT(1454, "", Attachment1, "Attachment1")
MailDoc.CREATERICHTEXTITEM (Attachment1)
Set AttachME = MailDoc.CREATERICHTEXTITEM("Attachment2")
Set EmbedObj = AttachME.EMBEDOBJECT(1454, "", Attachment2, "Attachment2")
MailDoc.CREATERICHTEXTITEM (Attachment2)
Set AttachME = MailDoc.CREATERICHTEXTITEM("Attachment3")
Set EmbedObj = AttachME.EMBEDOBJECT(1454, "", Attachment3, "Attachment3")
MailDoc.CREATERICHTEXTITEM (Attachment3)
End If
et la fin est bien
Salut bonne chance
Bonjour,
je me permets de m'adresser à vous même si la discussion date depuis quelques temps. Mais je pense que vous connaissez la solution de mon problème qui est d'envoyer automatiquement le contenu d'excel via la messagerie Lotus Note.
En effet, je souhaiterais envoyer le contenu d'un fichier excel automatiquement via Lotus note après avoir cliquer sur un bouton.
voici à quoi ressemble mon fichier https://www.cjoint.com/c/DAqvFzpOIdo
Je vous remercie beaucoup pour votre partage.
Coridlament
je me permets de m'adresser à vous même si la discussion date depuis quelques temps. Mais je pense que vous connaissez la solution de mon problème qui est d'envoyer automatiquement le contenu d'excel via la messagerie Lotus Note.
En effet, je souhaiterais envoyer le contenu d'un fichier excel automatiquement via Lotus note après avoir cliquer sur un bouton.
voici à quoi ressemble mon fichier https://www.cjoint.com/c/DAqvFzpOIdo
Je vous remercie beaucoup pour votre partage.
Coridlament
re bonsoir tout le monde,
personne d'envoie des mails sous excel via lotus notes ??
me dites pas que je suis la seule ??
en plus là c'est pas un problème spécifique lotus notes loll
en faite c'est que j'y comprends rien au VBA alors dur dur d'adapter le code.
merdi de votre aide.
bonne soirée.
personne d'envoie des mails sous excel via lotus notes ??
me dites pas que je suis la seule ??
en plus là c'est pas un problème spécifique lotus notes loll
en faite c'est que j'y comprends rien au VBA alors dur dur d'adapter le code.
merdi de votre aide.
bonne soirée.
Bonjour,
Je sais que ces échanges dates un peu néanmoins je pose une question on ne sait jamais si quelqu'un a la réponse !
J'utilise ce code mais je souhaiterai maintenant mettre plusieurs destinataires. quand j en reseigne plusieurs en séparant par des virgules cela ne fonctionne pas. Enfin il ne l'envoi qu'a la 1ere adresse et semble s'arreter au @ de la 2eme. Avez-vous l'astuce ??
Merci d'avance
Je sais que ces échanges dates un peu néanmoins je pose une question on ne sait jamais si quelqu'un a la réponse !
J'utilise ce code mais je souhaiterai maintenant mettre plusieurs destinataires. quand j en reseigne plusieurs en séparant par des virgules cela ne fonctionne pas. Enfin il ne l'envoi qu'a la 1ere adresse et semble s'arreter au @ de la 2eme. Avez-vous l'astuce ??
Merci d'avance