j'ai recupere un code qui fonctionne bien pour l'envoi de fichiers
sous access via lotus notes, avec une piece jointe.
Mais je desirerai pouvoir y attacher plusieurs pieces jointes,
celles-ci etant des objets ole stockes dans une table.
Je serai intéressé par ce type de code, pourrai tu me le communiquer. J'essayerai en même temps de voir la possibilité de résolution de ton problème.
Merci d'avance
baptiste
voici la fonction, merci de ton aide :
Public Function envoiNoteLotus(Sujet As String, Corps As String, Dest, CopieDraft As Boolean, envoi As Boolean, fich As String, Copiec, nb As Integer, Optional Bcc As String)
On Error GoTo error '---------------------------------------------------------------------------------------------------
' Préalable : - attacher la biblio LOTUS DOMINO. ' ' Commentaire : - La fonction marche même si LOTUS NOTE n'est pas ouvert. ' - Il vous sera demandé votre password lotus au 1er envoi de note. ' - si vous ne voulez pas de fond de note, enlevez l 'item "form". ' ' Parametres : ' Sujet = Titre de la Note ' Corps = Texte de la Note sous forme de tableau pour les sauts de ligne ' Dest = liste des destinataires (tableau) ' CopieDraft = faire copie de la note dans le folder draft de l 'expediteur ? ' Envoi = Envoi de la notes aux destinataires ? ' Copiec = destinataires en copie (tableau) (Optionnel ) ' Bcc = destinataires en blind copie ( Optionnel ) ' fich = chemin et nom du fichier a mettre en piece jointe '
'Dim trouve 'trouve = dir("h:datanotes5notes.ini") 'If trouve = "" Then ' MsgBox "Envoi de mail impossible" ' Exit Function 'End If
FileCopy "h:datanotes5notes.ini", "c:msoff32.972officenotes.ini" ' on s'assure ainsi que le notes.ini est sur un repertoire du path FileCopy "h:datanotes5notes.ini", "c:WINNTnotes.ini" ' on s'assure ainsi que le notes.ini est sur un repertoire du path
Dim session Set session = CreateObject("Lotus.NotesSession") session.Initialize ' ouvre la session lotus
Dim dir As NotesDbDirectory Dim db As NotesDatabase Set dir = session.GetDbDirectory("") Set db = dir.OpenMailDatabase ' ouvre la DB "MAIL"
Dim note As NotesDocument Set note = db.CreateDocument ' crée un nouveau document
Dim a, b, c, d, e, f, g, h, i, aa As NotesItem Dim j As Integer
Set a = note.ReplaceItemValue("form", "memo") Set b = note.ReplaceItemValue("logo", "stdnotesltr0") Set c = note.ReplaceItemValue("sign", "1") Call note.Sign Set d = note.ReplaceItemValue("Subject", Sujet) Set f = note.ReplaceItemValue("sendto", Dest) Set g = note.ReplaceItemValue("copyto", Copiec) Set h = note.ReplaceItemValue("blindcopyto", Bcc) ' remplit le document Set aa = note.ReplaceItemValue("DeliveryReport", "B")
' code ajouté le 3/9/01 Dim rtitem As NotesRichTextItem ' code ajouté le 3/9/01 Set rtitem = note.CreateRichTextItem("piecejointe")
Dim notebody As NotesRichTextItem 'corps du message sous forme de textrich pour les sauts de ligne Set notebody = note.CreateRichTextItem("body")
notebody.AppendText Corps notebody.AddNewLine (2)
Dim objet As NotesEmbeddedObject If fich <> "" Then Set objet = rtitem.EmbedObject(EMBED_ATTACHMENT, "", fich) ' attache du fichier ' note.CreateRichTextItem ("piecejointe") End If
If CopieDraft = True Then Call note.Save(False, True, True) ' sauve le document dans le DRAFT de l'expediteur
If envoi = True Then Call note.Send(True) ' envoi le document aux destinataires
If ((envoi = True) And (CopieDraft = True)) Then MsgBox "Note LOTUS Envoyée à : " & Dest & Chr$(13) & "cc :" & Copiec & Chr$(13) & "bcc :" & Bcc & Chr$(13) & "Une Copie de la note est dans votre folder DRAFT.", vbInformation, "DMI Lotus Notes !" 'If ((Envoi = True) And (CopieDraft = False)) Then MsgBox "Note LOTUS Envoyée à : " & Dest & Chr$(13) & "cc :" & Cc & Chr$(13) & "bcc :" & Bcc, vbInformation , "DMI Lotus Notes !" If ((CopieDraft = True) And (envoi = False)) Then MsgBox "Note LOTUS Créée dans votre Folder 'DRAFT' !", vbInformation, "DMI Lotus Notes !" envoiNoteLotus = "ok" Exit_Function: Exit Function
Public Function envoiNoteLotus(Sujet As String, Corps As String, Dest,
CopieDraft As Boolean, envoi As Boolean, fich As String, Copiec, nb As
Integer, Optional Bcc As String)
On Error GoTo error
'---------------------------------------------------------------------------------------------------
' Préalable : - attacher la biblio LOTUS DOMINO.
'
' Commentaire : - La fonction marche même si LOTUS NOTE n'est pas
ouvert.
' - Il vous sera demandé votre password lotus
au 1er envoi de note.
' - si vous ne voulez pas de fond de note,
enlevez l 'item "form".
'
' Parametres :
' Sujet = Titre de la Note
' Corps = Texte de la Note sous forme de tableau
pour les sauts de ligne
' Dest = liste des destinataires (tableau)
' CopieDraft = faire copie de la note dans le folder
draft de l 'expediteur ?
' Envoi = Envoi de la notes aux destinataires ?
' Copiec = destinataires en copie (tableau)
(Optionnel )
' Bcc = destinataires en blind copie ( Optionnel
)
' fich = chemin et nom du fichier a mettre en piece
jointe
'
'Dim trouve
'trouve = dir("h:datanotes5notes.ini")
'If trouve = "" Then
' MsgBox "Envoi de mail impossible"
' Exit Function
'End If
FileCopy "h:datanotes5notes.ini",
"c:msoff32.972officenotes.ini"
' on s'assure ainsi que le notes.ini est sur un repertoire du path
FileCopy "h:datanotes5notes.ini", "c:WINNTnotes.ini" ' on
s'assure ainsi que le notes.ini est sur un repertoire du path
Dim session
Set session = CreateObject("Lotus.NotesSession")
session.Initialize ' ouvre la session lotus
Dim dir As NotesDbDirectory
Dim db As NotesDatabase
Set dir = session.GetDbDirectory("")
Set db = dir.OpenMailDatabase ' ouvre la DB "MAIL"
Dim note As NotesDocument
Set note = db.CreateDocument ' crée un nouveau document
Dim a, b, c, d, e, f, g, h, i, aa As NotesItem
Dim j As Integer
Set a = note.ReplaceItemValue("form", "memo")
Set b = note.ReplaceItemValue("logo", "stdnotesltr0")
Set c = note.ReplaceItemValue("sign", "1")
Call note.Sign
Set d = note.ReplaceItemValue("Subject", Sujet)
Set f = note.ReplaceItemValue("sendto", Dest)
Set g = note.ReplaceItemValue("copyto", Copiec)
Set h = note.ReplaceItemValue("blindcopyto", Bcc) ' remplit le
document
Set aa = note.ReplaceItemValue("DeliveryReport", "B")
' code ajouté le 3/9/01
Dim rtitem As NotesRichTextItem ' code ajouté le 3/9/01
Set rtitem = note.CreateRichTextItem("piecejointe")
Dim notebody As NotesRichTextItem 'corps du message sous forme de
textrich pour les sauts de ligne
Set notebody = note.CreateRichTextItem("body")
notebody.AppendText Corps
notebody.AddNewLine (2)
Dim objet As NotesEmbeddedObject
If fich <> "" Then
Set objet = rtitem.EmbedObject(EMBED_ATTACHMENT, "", fich) ' attache
du fichier
' note.CreateRichTextItem ("piecejointe")
End If
If CopieDraft = True Then Call note.Save(False, True, True) ' sauve le
document dans le DRAFT de l'expediteur
If envoi = True Then Call note.Send(True) ' envoi le document aux
destinataires
If ((envoi = True) And (CopieDraft = True)) Then MsgBox "Note LOTUS
Envoyée à : " & Dest & Chr$(13) & "cc :" & Copiec & Chr$(13) & "bcc :"
& Bcc & Chr$(13) & "Une Copie de la note est dans votre folder
DRAFT.", vbInformation, "DMI Lotus Notes !"
'If ((Envoi = True) And (CopieDraft = False)) Then MsgBox "Note LOTUS
Envoyée à : " & Dest & Chr$(13) & "cc :" & Cc & Chr$(13) & "bcc :" &
Bcc, vbInformation , "DMI Lotus Notes !"
If ((CopieDraft = True) And (envoi = False)) Then MsgBox "Note LOTUS
Créée dans votre Folder 'DRAFT' !", vbInformation, "DMI Lotus Notes !"
envoiNoteLotus = "ok"
Exit_Function:
Exit Function
Public Function envoiNoteLotus(Sujet As String, Corps As String, Dest, CopieDraft As Boolean, envoi As Boolean, fich As String, Copiec, nb As Integer, Optional Bcc As String)
On Error GoTo error '---------------------------------------------------------------------------------------------------
' Préalable : - attacher la biblio LOTUS DOMINO. ' ' Commentaire : - La fonction marche même si LOTUS NOTE n'est pas ouvert. ' - Il vous sera demandé votre password lotus au 1er envoi de note. ' - si vous ne voulez pas de fond de note, enlevez l 'item "form". ' ' Parametres : ' Sujet = Titre de la Note ' Corps = Texte de la Note sous forme de tableau pour les sauts de ligne ' Dest = liste des destinataires (tableau) ' CopieDraft = faire copie de la note dans le folder draft de l 'expediteur ? ' Envoi = Envoi de la notes aux destinataires ? ' Copiec = destinataires en copie (tableau) (Optionnel ) ' Bcc = destinataires en blind copie ( Optionnel ) ' fich = chemin et nom du fichier a mettre en piece jointe '
'Dim trouve 'trouve = dir("h:datanotes5notes.ini") 'If trouve = "" Then ' MsgBox "Envoi de mail impossible" ' Exit Function 'End If
FileCopy "h:datanotes5notes.ini", "c:msoff32.972officenotes.ini" ' on s'assure ainsi que le notes.ini est sur un repertoire du path FileCopy "h:datanotes5notes.ini", "c:WINNTnotes.ini" ' on s'assure ainsi que le notes.ini est sur un repertoire du path
Dim session Set session = CreateObject("Lotus.NotesSession") session.Initialize ' ouvre la session lotus
Dim dir As NotesDbDirectory Dim db As NotesDatabase Set dir = session.GetDbDirectory("") Set db = dir.OpenMailDatabase ' ouvre la DB "MAIL"
Dim note As NotesDocument Set note = db.CreateDocument ' crée un nouveau document
Dim a, b, c, d, e, f, g, h, i, aa As NotesItem Dim j As Integer
Set a = note.ReplaceItemValue("form", "memo") Set b = note.ReplaceItemValue("logo", "stdnotesltr0") Set c = note.ReplaceItemValue("sign", "1") Call note.Sign Set d = note.ReplaceItemValue("Subject", Sujet) Set f = note.ReplaceItemValue("sendto", Dest) Set g = note.ReplaceItemValue("copyto", Copiec) Set h = note.ReplaceItemValue("blindcopyto", Bcc) ' remplit le document Set aa = note.ReplaceItemValue("DeliveryReport", "B")
' code ajouté le 3/9/01 Dim rtitem As NotesRichTextItem ' code ajouté le 3/9/01 Set rtitem = note.CreateRichTextItem("piecejointe")
Dim notebody As NotesRichTextItem 'corps du message sous forme de textrich pour les sauts de ligne Set notebody = note.CreateRichTextItem("body")
notebody.AppendText Corps notebody.AddNewLine (2)
Dim objet As NotesEmbeddedObject If fich <> "" Then Set objet = rtitem.EmbedObject(EMBED_ATTACHMENT, "", fich) ' attache du fichier ' note.CreateRichTextItem ("piecejointe") End If
If CopieDraft = True Then Call note.Save(False, True, True) ' sauve le document dans le DRAFT de l'expediteur
If envoi = True Then Call note.Send(True) ' envoi le document aux destinataires
If ((envoi = True) And (CopieDraft = True)) Then MsgBox "Note LOTUS Envoyée à : " & Dest & Chr$(13) & "cc :" & Copiec & Chr$(13) & "bcc :" & Bcc & Chr$(13) & "Une Copie de la note est dans votre folder DRAFT.", vbInformation, "DMI Lotus Notes !" 'If ((Envoi = True) And (CopieDraft = False)) Then MsgBox "Note LOTUS Envoyée à : " & Dest & Chr$(13) & "cc :" & Cc & Chr$(13) & "bcc :" & Bcc, vbInformation , "DMI Lotus Notes !" If ((CopieDraft = True) And (envoi = False)) Then MsgBox "Note LOTUS Créée dans votre Folder 'DRAFT' !", vbInformation, "DMI Lotus Notes !" envoiNoteLotus = "ok" Exit_Function: Exit Function