Envoi mail en vbs avec 3 variables via un fichier Excel

Le
Itsejoke
Bonjour à tous,

Je voudrais envoyer un mail personnalisé en VBS à une liste de
collaborateurs avec 3 variables :

- Email du destinataire : VAR1
- Login du destinataire : VAR2
- Mot de passe du destinataire : VAR3

Le mieux serait d'être dans un fichier Excel, ou fichier TXT

J'ai déjà la routine pour le mail, reste à faire appel à ces 3 variables :

-
Dim oCDO

Set oCDO = CreateObject("CDO.Message")
With oCdo
With .Configuration.Fields ' Configuration "du compte mail SMTP"
.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") =
"smtp.fournisseur.fr"
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") =
"25"

.Update
End With
.From = "EmailEmetteur@Domaine.fr"
.to = VAR1
.Subject ="Sujet" & Now
.TextBody ="Votre login : " VAR2 & vbCrlf & "Votre mot de passe : " VAR3
.Send
End With
-

J'ai commencé à chercher sur microsoft scripting mais je ne vois pas
On a un bien quelque chose en perl mais j'aimerais m'affranchir de
l'installation de perl

Merci de votre aide.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
MClaveau (MVP)
Le #708170
Bonjour !

En fait, quel est le problème ? (perso, j'ai échoué à l'exam de
divination).




--
@-salutations

Michel Claveau
Gilles LAURENT [MVP]
Le #708168
"Itsejoke" news:%
| Bonjour à tous,

Bonsoir,

| Je voudrais envoyer un mail personnalisé en VBS à une liste de
| collaborateurs avec 3 variables :
|
| - Email du destinataire : VAR1
| - Login du destinataire : VAR2
| - Mot de passe du destinataire : VAR3
|
| Le mieux serait d'être dans un fichier Excel, ou fichier TXT

Soit le fichier de type texte VARs.txt au format csv dans lequel chaque
champ est séparé par une virgule et contient les informations suivantes
:

Email,Login,Password

Pour extraire les informations disponibles dans ce fichier :

Set oFs=CreateObject ("Scripting.FileSystemObject")
Set oFile=oFs.OpenTextFile ("VARs.txt")
arrVars=Split (oFile.ReadLine, ",")

| J'ai déjà la routine pour le mail, reste à faire appel à ces 3
| variables :

Les informations sont disponibles dans la variable de type tableau
arrVars. Il suffit donc maintenant de remplacer chaque occurence de VARn
par la variable arrVars en utilisant l'index adéquat :
VAR1 = arrVars (0)
VAR2 = arrVars (1)
VAR3 = arrVars (2)

| .to = VAR1

.To=arrVars (0)

| .TextBody ="Votre login : " VAR2 & vbCrlf & "Votre mot de passe : "
| VAR3 .Send

.TextBody = _
"Votre Login : " & arrVars (1) & VBCrLf & _
"Votre mot de passe : " & arrVars (2)

--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr
F. Dunoyer [MVP]
Le #708166
Gilles LAURENT [MVP] a formulé la demande :
"Itsejoke" news:%
Bonjour à tous,


Bonsoir,

Je voudrais envoyer un mail personnalisé en VBS à une liste de
collaborateurs avec 3 variables :

- Email du destinataire : VAR1
- Login du destinataire : VAR2
- Mot de passe du destinataire : VAR3

Le mieux serait d'être dans un fichier Excel, ou fichier TXT


Soit le fichier de type texte VARs.txt au format csv dans lequel chaque
champ est séparé par une virgule et contient les informations suivantes
Mets un ; suffixe le en .csv et au passage tu peux l'editer facilement

avec Excel ;)

--
François Dunoyer [MVP Windows Server Admin Framework]
Quelques textes qui m'ont séduit : http://fdunoyer.free.fr/textes.htm
Site perso : http://www.fdunoyer.net
Blog perso : http://fdunoyer.spaces.live.com/


MCI \(ex do ré Mi chel la si do\) [MVP]
Le #707967
Re !

Ci-dessous, une solution complète, avec Ponx.
Les données sont contenues dans le tableau Excel C:mdata.xls.
Trois colonnes sont utilisées : destinataire, login, mot de passe.
Le script lit les lignes, à partir de la ligne 1, et tant qu'il y a des
données (generator).
Le message est ensuite composé, puis envoyé. Pour coller à l'exemple
cité, certain paramètres ont été omis (valeurs par défaut) ; notamment
les éventuelles identifications SMTP, les pièces jointes, les payloads.
Le fichier Excel est fermé à la fin.
Excel doit être installé sur le poste (il y a des solutions pour lire
les fichiers Excel, sans Excel, mais c'est plus compliqué).


La première version est en Python, et affiche les données, au fur et à
mesure du traitement:

import pxexcel,time,ponx
x=pxexcel.exl('C:\mdata.xls') #ouverture fichier C:\mdata.xls
for lval in x.getRCellule(1,1,2,3): #depuis lig.1 col.1+2+3 tant que
col.1
sujet='Sujet '+ time.strftime('%a, %d %b %Y %H:%M:%S')
body='Votre login : '+ lval[1] +'rnVotre mot de passe : ' +
lval[2]
ponx.mailfiles(lval[0], lval[1], subject=sujet, message=body,
smtpserveur='smtp.fournisseur.fr',port%)
print 'Envoi :',lval[0]
print 'Fini'
x.pxclose()



Cette deuxième version est utilisée par un script VBscript ; elle
n'affiche pas la progression :

Set ponx = WScript.CreateObject("Ponx.Mci")
s=""
s=s & "import pxexcel" & vbCrlf
s=s & "x=pxexcel.exl('C:\mdata.xls')" & vbCrlf
s=s & "for lval in x.getRCellule(1,1,2,3):" & vbCrlf
s=s & " sujet='Sujet '+ time.strftime('%a, %d %b %Y %H:%M:%S')" &
vbCrlf
s=s & " body='Votre login : '+ lval[1] +'rnVotre mot de passe : ' +
lval[2]" & vbCrlf
s=s & " mailfiles(lval[0], lval[1], subject=sujet, message=body,
smtpserveur='smtp.fournisseur.fr',port%)" & vbCrlf
s=s & "x.pxclose()" & vbCrlf
ponx.PRun(s)




@-salutations

Michel Claveau
Itsejoke
Le #707963
Bonsoir et merci à François, Michel et à Gilles pour vos réponses détaillées
:-)
Que du bonheur : allez, je vais essayer tout ça :-))

Merci !!
RV


"F. Dunoyer [MVP]" message de news:
Gilles LAURENT [MVP] a formulé la demande :
"Itsejoke" news:%
Bonjour à tous,


Bonsoir,

Je voudrais envoyer un mail personnalisé en VBS à une liste de
collaborateurs avec 3 variables :

- Email du destinataire : VAR1
- Login du destinataire : VAR2
- Mot de passe du destinataire : VAR3

Le mieux serait d'être dans un fichier Excel, ou fichier TXT


Soit le fichier de type texte VARs.txt au format csv dans lequel chaque
champ est séparé par une virgule et contient les informations suivantes
Mets un ; suffixe le en .csv et au passage tu peux l'editer facilement

avec Excel ;)

--
François Dunoyer [MVP Windows Server Admin Framework]
Quelques textes qui m'ont séduit : http://fdunoyer.free.fr/textes.htm
Site perso : http://www.fdunoyer.net
Blog perso : http://fdunoyer.spaces.live.com/






Publicité
Poster une réponse
Anonyme