cs_JMO
Messages postés1854Date d'inscriptionjeudi 23 mai 2002StatutMembreDernière intervention24 juin 2018
-
4 nov. 2006 à 15:56
cs_JMO
Messages postés1854Date d'inscriptionjeudi 23 mai 2002StatutMembreDernière intervention24 juin 2018
-
4 nov. 2006 à 22:29
Bonjour à tous....
Dans le script ci-dessous, j'arrive à afficher le contenu d'un fichier .txt
dans le body d'un mail.
Questions:
Est-il possible d'insérer dans le body:
- une image (.bmp) avec LoadPicture ou autre function ????
- une feuille Excel (ou, le summum, un select de cells) ????
- la capture d'un Msgbox ou d'un Popup ????
Je code en vbs, mais, même les propositions en vb6 seraient les bienvenues.
Merci de votre attention.
jean-marc
'==================================
Option Explicit
'---------------------------------------
'Constantes et variables
'---------------------------------------
Const Fichier_Local = "D:\VAXNUMPAR.TXT"
Const Image = "D:\logo.bmp"
'-----------------------------------------------------------
Const ForReading = 1
Dim Fso, objTextStream, Contenu, strtmp, i
'-----------------------------------------------------------
'Lecture et mise en variable du contenu du fichier en entrée
'-----------------------------------------------------------
Set Fso = CreateObject("Scripting.FileSystemObject")
Set objTextStream = Fso.OpenTextFile(Fichier_Local, ForReading)
Do While Not ObjTextStream.AtEndOfStream
strtmp = split(ObjTextStream.ReadLine, vbLf)
For i = 0 to Ubound(strtmp)
Contenu = Contenu &vbCrLf& strtmp(i)
Next
Loop
objTextStream.Close
Set objTextStream = Nothing
'WScript.Echo Contenu
'------------------
'Paramètres du Mail
'------------------
Const Destinataires = "
[mailto:xxx@yyy.fr
xxx@yyy.fr
]
"
Const Emetteur = "
[mailto:yyy@xxx.fr
yyy@xxx.fr
]
"
Const cdoSendUsingPort = 2
'-------------------------------------------
'Adresse IP ou smtp du serveur de messagerie
'-------------------------------------------
Const strSmartHost = "smtp.aaa.fr"
'----------------------------------
'Déclaration de variables
'------------------------
Dim Corps, Sujet
Const TIMEOUT = 5
Dim objShell
Set objShell = WScript.CreateObject("WScript.Shell")
'Reponse = objShell.Popup(vbCrLf & _
' "Ce Popup remplace un MsgBox" &vbCrLf&vbCrLf& "Sans action de votre part," &vbCrLf&vbCrLf&_
' "ce popup s'effacera dans " &vbCrLf& TIMEOUT & " secondes" &vbCrLf&vbCrLf&_
' "Vous ne pouvez pas fermer ce popup par la croix !!!" ,TIMEOUT, _
' "MsgBox personnalisé",vbYesNo + vbQuestion)
'Select Case Reponse
' Case vbYes: objShell.Popup "Vous avez cliqué sur Oui" & vbCrLf & vbCrLf & vbCrLf,TIMEOUT
' Case vbNo: objShell.Popup "Vous avez cliqué sur Non" & vbCrLf & vbCrLf & vbCrLf,TIMEOUT
' Case -1: Wscript.Quit
'End Select
'-------------------------------------------------------
'Envoi du mail avec pièce jointe + contenu de ce fichier
'-------------------------------------------------------
Sujet = Now & " - CLIENT : Contrôle journalier du fichier VAXNUMPAR"
Corps = vbCrLf&"Bonjour," & vbCrLf & vbCrLf & "Merci de vérifier qu'il n'y ait pas" &_
" de TOP différent de 0." & vbCrLf & vbCrLf & Contenu &_
vbCrLf & "Cordialement," & vbCrLf & LoadPicture(Image) 'ne fonctionne pas
'WScript.Echo Corps
SendMail Sujet, Corps, image
Set Fso = Nothing
Set objShell = Nothing
MsgBox "script terminé + mail envoyé "
WScript.Quit
'******************************************************************
'------------------------------
'Envoi du MAIL aux utilisateurs
'------------------------------
Sub SendMail(Sujet, Corps, PieceJointe)
Dim iMsg, iConf
Dim iBp, Stm
'Create the message object.
Set iMsg = CreateObject("CDO.Message")
'Create the configuration object.
Set iConf = iMsg.Configuration
'Set the fields of the configuration object to send by using SMTP through port 25.
With iConf.Fields
.item("
http://schemas.microsoft.com/cdo/configuration/sendusing ") = cdoSendUsingPort
.item("
http://schemas.microsoft.com/cdo/configuration/smtpserver ") = strSmartHost
.Update
End With
'Set the To, From, Subject, and Body properties of the message.
With iMsg
.To = Destinataires
.From = Emetteur
.Subject = Sujet
.TextBody = Corps
.AddAttachment(PieceJointe)
.AddAttachment(Image)
Set Stm = .GetStream
Stm.SaveToFile "d:\test sauvegarde Mail - message envoyé.eml", 1
.Send
End With
Stm.Close
Set Stm = Nothing
Set iMsg = Nothing
Set iConf = Nothing
End Sub
MadM@tt
Messages postés2167Date d'inscriptionmardi 11 novembre 2003StatutMembreDernière intervention16 juillet 20091 4 nov. 2006 à 16:37
Non non LoadPicture charge un objet Image dans la mémoire du pc, la dans ton mail il s'agit de code HTML
Il faut donc regarder du coté des codes sur VBfrance qui permettent d'envoyer des mails au format HTML avec pièces jointes (l'image se trouvera dans les pièces jointes).
Cherche dans les codes existants
MadM@tt
Messages postés2167Date d'inscriptionmardi 11 novembre 2003StatutMembreDernière intervention16 juillet 20091 4 nov. 2006 à 19:03
Ben pour afficher une image, en code HTML il faut écrire :
Chemin d'accès, c'est un lien vers l'image, sur une page web c'est un truc du style "D:\image.bmp" ou "www.google.fr/image.bmp", sauf que la l'image est dans la pièce jointe alors je sais pas c'est quoi le chemin d'accès. Regarde dans les source de vbfrance si ça se trouve tu trouveras
cs_JMO
Messages postés1854Date d'inscriptionjeudi 23 mai 2002StatutMembreDernière intervention24 juin 201827 4 nov. 2006 à 19:46
Re,
Effectivement , la réponse était simple.
Const Image = "D:\logo.bmp"
str = str & ""
Merci encore MadMatt
je bosse pour reproduire le contenu d'une feuille excel dans le htmlbody.
Donc,
Est-il possible d'insérer dans le body:
- <strike>une image (.bmp) avec LoadPicture ou autre function => OUI
</strike>- <strike>une feuille Excel (ou, le summum, un select de cells) => OUI</strike>
- la capture d'un Msgbox ou d'un Popup ????
jean-marc
Vous n’avez pas trouvé la réponse que vous recherchez ?