1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
| Function SendNotesMsg(ByVal sSendTo As Variant, Optional ByVal sSubject As String, _
Optional ByVal sBodyText As String, Optional ByVal sAttachment) As Long
'********************************************************************************
'********************************************************************************
'Objet : Envoie un message par Notes mail
'Arguments:
' sSendTo (Recquis)- un mot représentant le nom du destinataire
' ou un tableau de noms de destinataires
' Si on doit utiliser de multiples destinataires, alors
' sSendTo to doit être passé comme un tableau
' sSubject (Optionel)-la variable littérale à utiliser comme sujet du mail
'sBodyText (Optionel)-la variable littérale à utiliser comme corps du message
'sAttachment (Optionel)-la variable contenant le chemin et le nom du fichier
' attaché s'il existe
' Syntaxe SendNotesMsg "MonNom", "C'est le sujet", "Le texte","C:\data\mondoc.doc"
'*******************************************************************************
'*******************************************************************************
Dim oSess As Object
Dim oDB As Object
Dim oDoc As Object
Dim oItem As Object
Dim ntsServer As String
Dim ntsMailFile As String
'Utiliser les constantes des lignes suivantes au lieu des 2 lignes précédentes
'seulement si le codage du serveur et le nom du fichier de mailing
'utilisent des variables vides pour ntsServer et s'il s'agit d'une base locale
'*****************************************************************************
' Const ntsserver = "notes46/pchelps46"
' Const ntsmailFile = "mail\bhartman.nsf"
'*****************************************************************************
On Error GoTo err_SendNotesMsg
Set oSess = CreateObject("Notes.NotesSession")
'Ne pas utiliser les 2 suivantes en cas d'utilisation des constantes
'gets server name
ntsServer = oSess.GetEnvironmentString("MailServer", True)
'Acquière le nom du fichier mailfile de l'utilisateur courant dans Notes.ini
ntsMailFile = oSess.GetEnvironmentString("MailFile", True)
Set oDB = oSess.GetDatabase(ntsServer, ntsMailFile)
Set oDoc = oDB.CreateDocument
Set oItem = oDoc.CreateRichTextItem("BODY")
oDoc.Form = "Memo"
If Not IsMissing(sSubject) Then
If sSubject <> "" Then oDoc.Subject = sSubject
End If
If Not IsMissing(sSubject) Then
If sBodyText <> "" Then oDoc.body = sBodyText
End If
oDoc.FROM = oSess.CommonUserName
oDoc.PostedDate = Date
If Not IsMissing(sAttachment) Then
If sAttachment <> "" Then Call oItem.EmbedObject(1454, "", sAttachment)
End If
' Pour un accusé de réception
' il faut mettre : doc.deliveryreport = "C" ou => "B"
' (Seulement si pas abouti) "C" (avis distribution) "T" (Tracer le chemin) "N" (Rien)
'oDoc.deliveryreport = "N" NE FONCTIONNE PAS
oDoc.deliveryreport = "Normale" ' NON PLUS !?
' Envoyer le message
Call oDoc.Send(False, sSendTo)
SendNotesMsg = 0
MsgBox "Le message a été envoyé", vbInformation
exit_SendNotesMsg:
On Error Resume Next
Set oSess = Nothing
Set oDB = Nothing
Set oDoc = Nothing
Set oItem = Nothing
Exit Function
err_SendNotesMsg:
SendNotesMsg = Err.Number
If Err.Number = 7225 Then
MsgBox "Impossible d'attacher le fichier, vérifier le chemin!", vbCritical
Else
MsgBox "[" & Err.Number & "]: " & Err.Description
End If
MsgBox "Message non envoyé suite erreur!", vbCritical
Resume exit_SendNotesMsg
End Function |
Partager