Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Envoi Mail via Lotus problème avec Attachment

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Roland_M

XLDnaute Barbatruc
bien le bonjour à tous

j'ai un petit souci de compréhension avec Attachment ! entre l'ordre joindre et la variable !?
variable que l'on retouve aussi entre " " comme dans les exemples tout le monde se sert de "Attachment" (y compris e.Renaud),
ce qui fait que je ne sais pas faire la différence entre l'ordre joindre et le cheminfichier (je ne dois pas être le seul !)

les exemples que l'on retrouve sur le net:
Set AttachME = MailDoc.CREATERICHTEXTITEM("Attachment")
Set EmbedObj = AttachME.EMBEDOBJECT(1454, "", Attachement, "Attachement")
MailDoc.CREATERICHTEXTITEM ("Attachement")

perso ma variable de chemin complet est celui-ci > CheminFichier
donc j'aimerai savoir comment le déclarer car après plusieurs essais j'ai parfois un message d'erreur !
"Rich Text Item CheminFichier Already exists"

Set AttachME = MailDoc.CREATERICHTEXTITEM("CheminFichier")
Set EmbedObj = AttachME.EMBEDOBJECT(1454, "", CheminFichier, "CheminFichier")
MailDoc.CREATERICHTEXTITEM ("CheminFichier")

un essai qui semble fonctionner bien est celui-ci:
Set AttachME = MailDoc.CREATERICHTEXTITEM("Attachment")
Set EmbedObj = AttachME.EMBEDOBJECT(1454, "", CheminFichier, "Attachment")
MailDoc.CREATERICHTEXTITEM ("CheminFichier")


Mais j'aimerai savoir, si c'est possible ceci "?????" qui fait quoi et ou !?
Set AttachME = MailDoc.CREATERICHTEXTITEM("??????")
Set EmbedObj = AttachME.EMBEDOBJECT(1454, "", CheminFichier, "??????")
MailDoc.CREATERICHTEXTITEM ("??????")

d'avance merci à ceux qui répondront !
 
Re : Envoi Mail via Lotus problème avec Attachment

re:

un petit up ! personne ne peut m'éclairer sur cette fonction !?

j'ai fouillé un peu partout sur le net, mais rien ! si ce n'est des contradictions !
je pensais avoir une réponse ici !

je suis bien embêté !
c'est pour un programme que je fais pour mon fils, nécessaire à son travail !
 
Re : Envoi Mail via Lotus problème avec Attachment

Bonjour,
Dans ce code la troisième ligne sert à rien car elle est passée à la variable objet AttachME
Code:
Set AttachME = MailDoc.CREATERICHTEXTITEM("CheminFichier")
Set EmbedObj = AttachME.EMBEDOBJECT(1454, "", CheminFichier, "CheminFichier")
MailDoc.CREATERICHTEXTITEM ("CheminFichier")

Attachement peut être modifié car j'ai un cas où j'ai 4 PJ et j'ai fait comme ceci :
Code:
        Set AttachME = MailDoc.CreateRichTextItem("Attachment")
        Set EmbedObj = AttachME.EmbedObject(1454, "", Chemin & "\" & File1, "Attachment")
 
        Set AttachMEA = MailDoc.CreateRichTextItem("AttachmentA")
        Set EmbedObjA = AttachMEA.EmbedObject(1454, "", Chemin & "\" & File2, "AttachmentA")
 
        Set AttachMEB = MailDoc.CreateRichTextItem("AttachmentB")
        Set EmbedObjB = AttachMEB.EmbedObject(1454, "", Chemin & "\" & File3, "AttachmentB")
 
        Set AttachMEC = MailDoc.CreateRichTextItem("AttachmentC")
        Set EmbedObjC = AttachMEC.EmbedObject(1454, "", Chemin & "\" & File4, "AttachmentC")
J'ai indicé pour différiencer chaque pièce jointe.
 
Re : Envoi Mail via Lotus problème avec Attachment

bonsoir à toi

un grand merci à toi Renauder pour cette réponse 😉
je vais pouvoir finir !

mais désespéré je m'étais lancé sur une autre routine
si tu pouvais me dire ce que tu en penses !?
(ou bien à d'autres qui passeraient par là)
juste un petit doute à la ligne Fichier Joint où j'ai prévu d'autres essais !

Cordialement

Code:
Public Sub EnvoiMailLocal(Fichier As String, CheminFichier As String)
Dim UserName As String     'Le nom d'utilisateur
Dim oSession As Object     'La session Notes
Dim DataBase As Object     'La base des mails
Dim DataBaseName As String 'Le nom de la base des mails
Dim Document As Object     'Le mail
Dim DocTexte As Object     'Le corps du message
Dim ObjetDiv As Object     'Sert pour Div object

On Error GoTo ErreurNET

' init données source
Dim Sujet As String, Message As String, Password As String
Dim AdresExpediteur As String, AdresDestinataire As String
Dim AdresDestinataireCC As String, AdresDestinataireBCC As String
AdresExpediteur = Sheets(NomDeLaFeuilData$).Range("Data_CellAdresExpediteur")
AdresDestinataire = Sheets(NomDeLaFeuilData$).Range("Data_CellAdresDestinataire")
AdresDestinataireCC = Sheets(NomDeLaFeuilData$).Range("Data_CellAdresDestinataireCC")
AdresDestinataireBCC = Sheets(NomDeLaFeuilData$).Range("Data_CellAdresDestinataireBCC")
Sujet = Sheets(NomDeLaFeuilData$).Range("Data_CellSujet")
Message = Sheets(NomDeLaFeuilData$).Range("Data_CellMessage")

' Crée la session
Set oSession = CreateObject("Notes.NotesSession")

' Ouvre la session (base des mails) (récupère nom utilisateur)
UserName = oSession.UserName
DataBaseName = Left$(UserName, 1) & Right$(UserName, (Len(UserName) - InStr(1, UserName, " "))) & ".nsf"
Set DataBase = oSession.GetDataBase("", DataBaseName)
If Not DataBase.IsOpen Then DataBase.OpenMail

' Crée le document et définit l'élement(DocTexte) rajouté au message
Set Document = DataBase.CreateDocument
Set DocTexte = Document.CreateRichTextItem("Body")

' Adresses destinataires
Document.Form = "Memo"
Document.Sendto = AdresDestinataire
If AdresDestinataireCC > "" Then Document.CopyTo = AdresDestinataireCC
If AdresDestinataireBCC > "" Then Document.BlindCopyTo = AdresDestinataireBCC
Document.Subject = Sujet

' Corps du message
With DocTexte
 .AppendText "Bonjour,"
 .AddNewLine 2
 .AppendText Message
 .AddNewLine 1
'.AppendText "..."
'.AddNewLine 2
'.AppendText "Eric"
'.AddNewLine 1
End With

' Fichier joint
If CheminFichier <> "" Then Set ObjetDiv = DocTexte.EmbedObject(1454, "", CheminFichier, "")
'Voir si problème !?
'If CheminFichier <> "" Then Call DocTexte.EmbedObject(1454, "", CheminFichier, "")
'ou  encore  !?
'If CheminFichier <> "" Then Set ObjetDiv = Document.EmbedObject(1454, "", CheminFichier, "")
'ou  encore  !?
'If CheminFichier <> "" Then Call Document.EmbedObject(1454, "", CheminFichier, "")

'--Envoi du Mail ----------------
Document.SaveMessageOnSend = True
Document.PostedDate = Now()
'Document.ReturnReceipt = "1"
Document.Send 0, AdresDestinataire
GoTo FinMail '------- fin --------

'---------
ErreurNET:
Msg$ = "Erreur " & Err.Source & "  No " & Err.Number & vbLf & vbLf & Err.Description
T$ = "Envoi Mail: Problème de connexion !?"
MsgBox Msg$, vbCritical, T$, Err.HelpFile, Err.HelpContext
'suite fin

FinMail:
Set oSession = Nothing
Set DataBase = Nothing
Set Document = Nothing
Set DocTexte = Nothing
Set ObjetDiv = Nothing
'Set dbDirectory = Nothing
On Error GoTo 0: Err.Clear
End Sub
 
Re : Envoi Mail via Lotus problème avec Attachment

Bonjour,
J'ai testé et j'ai du faire 2 modifs
Ajout de cette ligne
Set AttachME = Document.CreateRichTextItem("Attachment")
En rouge ce que j'ai ajouté
If CheminFichier <> "" Then Set ObjetDiv = DocTexte.EmbedObject(1454, "", CheminFichier & Fichier, "Attachment")
Le problème de ton programme, c'est qu'il mettre le mot de passe.
Moi j'utilise autre chose.
Lotus ne s'ouvre pas et le mot de passe est passé en paramètre.
 
Re : Envoi Mail via Lotus problème avec Attachment

re:

merci pour ces précieux renseignements car chez moi je ne peux pas tester !
je précise que CheminFichier c'es le chemin complet avec le fichier !
pour le mot de passe c'est volontaire (c'est ce qu'il souhaite !?)

mais ceci: Set AttachME = Document.CreateRichTextItem("Attachment")

je le place où ? dans le test ou avant ?

exemple comme ceci ?

If CheminFichier <> "" Then
Set AttachME = Document.CreateRichTextItem("Attachment")
Set ObjetDiv = DocTexte.EmbedObject(1454, "", CheminFichier, "Attachment")
End If

encore merci !
 
Dernière édition:
Re : Envoi Mail via Lotus problème avec Attachment

Bonjour,

Normalement le code serait:
Code:
If CheminFichier <> "" Then
   Set AttachME = Document.CreateRichTextItem("Attachment")
   Set ObjetDiv = AttachME.EmbedObject(1454, "", CheminFichier, "Attachment")
End If
 
Re : Envoi Mail via Lotus problème avec Attachment

Bonjour Eric, le forum
N'étant spécialement doué en VBA je suis à la recherche d'un fichier excel pour l'envoi automatique de mail pièces jointes... via lotus notes 6.5
J'ai bien été sur des sites mais il y a seulement des codes et autant ne pas le cacher ...c'est pas gagné pour tout le monde

Merci pour votre aide
Philippe
 
Re : Envoi Mail via Lotus problème avec Attachment

Merci Eric pour ton fichier,
Ca ne marche pas chez moi mais ce n'est pas grave si qq'un à un fichier qui prend la version 6.5 de lotus ca serait sympa...
Sinon bon week end a tous
Philippe
 
Re : Envoi Mail via Lotus problème avec Attachment

bonjour,

si tu veux essayer celui-ci !?
je t'envoie en fait mon Sub Perso tu n'auras qu'à adapter Voir les rems !


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              .
'Sujet                : sujet du mail                   .
'AdresDestinataire    : destinataire principal          .
'AdresDestinataireCC  : destinataire en copie           .
'AdresDestinataireBCC : destinataire en copie invisible .
'Message              : message                         .
'CheminEtFichier      : pièce jointe chemin complet     .

'######### ici quand j'appel EnvoiMailLocal je passe le Chemin Et le Fichier (C:\Temp\MonFichier.xls)
Public Sub EnvoiMailLocal(CheminEtFichier As String)
'Dim DataBase As NotesDatabase
'Dim oSession As NotesSession
'Dim dbDirectory As NotesDbDirectory
Dim oSession As Object     'CreateObject("Notes.NotesSession")
Dim UserName As String     'Nom d'utilisateur
Dim DataBase As Object     'Base des mails
Dim DataBaseName As String 'Nom de la base
Dim Document As Object     'Mail
Dim DocTexte As Object     'Msg élément rajouté
Dim AttachME As Object     'Pièce jointe en RTF
Dim AttachF1 As Object     '1' pièce attachée
'Dim AttachF2 As Object    '2'
'Dim AttachF3 As Object    '3'

On Error GoTo ErreurNET: Err.Clear '*****

' init données source
Dim Sujet As String, Message As String, Password As String
Dim AdresExpediteur As String, AdresDestinataire As String
Dim AdresDestinataireCC As String, AdresDestinataireBCC As String
'############## MES ADRESSES SONT DANS DES CELLULES A ADAPTER ###################
AdresExpediteur = Sheets(NomDeLaFeuilData$).Range("Data_CellAdresExpediteur")
AdresDestinataire = Sheets(NomDeLaFeuilData$).Range("Data_CellAdresDestinataire")
AdresDestinataireCC = Sheets(NomDeLaFeuilData$).Range("Data_CellAdresDestinataireCC")
AdresDestinataireBCC = Sheets(NomDeLaFeuilData$).Range("Data_CellAdresDestinataireBCC")
Sujet = Sheets(NomDeLaFeuilData$).Range("Data_CellSujet")
'############## ICI DANS MA FEUILLE J'AI UNE ZONE TEXTE POUR MON MESSAGE A ADAPTER ###################
On Error Resume Next: Err.Clear '*****
Message = Sheets(NomDeLaFeuilData$).Shapes("ZoneTexteMessage").TextFrame.Characters.Text
If Err Then
   On Error GoTo ErreurNET: Err.Clear '*****
   Message = Sheets(NomDeLaFeuilData$).Range("Data_CellMessage")
End If
Do
 Message = Trim(Message): LenMsg = Len(Message): If LenMsg = 0 Then Exit Do
 If Right(Message, 1) = Chr(10) Then Message = Left(Message, LenMsg - 1) Else Exit Do
Loop
'#####################################################################################################

On Error GoTo ErreurNET: Err.Clear '*****

' Crée la session
Set oSession = CreateObject("Notes.NotesSession")
'Call oSession.Initialize(Password) 'ligne réservée aux versions 5.x et supérieur

' Récupère 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
' Ouvre la base des mails en utilisant le serveur par défaut
'Set dbDirectory = oSession.GetDbDirectory("??????????????")
'Set DataBase = dbDirectory.OpenMailDatabase

' Adresses destinataires
Set Document = DataBase.CreateDocument ' crée le document
Document.Form = "Memo"
Document.Sendto = AdresDestinataire
If AdresDestinataireCC > "" Then Document.CopyTo = AdresDestinataireCC
If AdresDestinataireBCC > "" Then Document.BlindCopyTo = AdresDestinataireBCC
Document.Subject = Sujet
' Message (voir aussi ci-dessous)
Document.Body = Message
' Message multiligne
'Set DocTexte = Document.CreateRichTextItem("Body") ' crée le corps du texte
'With DocTexte
' .AppendText "Bonjour,"
' .AddNewLine 2
' .AppendText "message"
' .AddNewLine 2
' .AppendText "Eric"
'End With
   
'  1'Fichier joint
If CheminEtFichier <> "" Then
   Set AttachME = Document.CreateRichTextItem("Attachment")
   Set AttachF1 = AttachME.EmbedObject(1454, "", CheminEtFichier, "Attachment")
End If
'  2'Fichier joint . . .
'If CheminEtFichier2 <> "" Then
'   Set AttachME = Document.CreateRichTextItem("Attachment2")
'   Set AttachF2 = AttachME.EmbedObject(1454, "", CheminEtFichier2, "Attachment2")
'End If

'------ Envoi le Mail ------------
Document.SaveMessageOnSend = True 'True svg dans les courriers envoyés
Document.PostedDate = Now()
Document.Send 0, AdresDestinataire
GoTo FinMail '------- fin --------

'---------
ErreurNET:
Msg$ = "Erreur " & Err.Source & "  No " & Err.Number & vbLf & vbLf & Err.Description
T$ = "Envoi Mail: Problème de connexion !?"
MsgBox Msg$, vbCritical, T$, Err.HelpFile, Err.HelpContext
'suite fin

FinMail:
Set oSession = Nothing
Set DataBase = Nothing
Set Document = Nothing
Set DocTexte = Nothing
Set AttachME = Nothing
Set AttachF1 = Nothing
'Set AttachF2 = Nothing
'Set AttachF3 = Nothing
'Set dbDirectory = Nothing
On Error GoTo 0: Err.Clear
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

S
Réponses
6
Affichages
2 K
soNZOOO
S
A
Réponses
0
Affichages
910
Arctica
A
C
Réponses
0
Affichages
2 K
CALIDENIS
C
J
Réponses
2
Affichages
7 K
J
D
Réponses
0
Affichages
664
djstroubi
D
A
Réponses
8
Affichages
4 K
AntoineDG95
A
C
Réponses
6
Affichages
8 K
coolman53
C
N
Réponses
7
Affichages
2 K
N3oTraX
N
B
Réponses
7
Affichages
2 K
brunounours
B
A
Réponses
0
Affichages
2 K
ashardalon
A
Réponses
1
Affichages
17 K
Compte Supprimé 979
C
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…