OVH Cloud OVH Cloud

Envoi de mail dans un script vbscript

19 réponses
Avatar
Brigitte
Bonjour,

Je suis à la recherche d'une fonction permettant l'envoi d'un mail dans un
script vbscript.
Merci pour votre aide

Brigitte

9 réponses

1 2
Avatar
bayosky
Salut,


Set iConf=CreateObject("CDO.Configuration")



donc, avec l'objet CDO.Configuration,

on gagne un peu de place puisque

ObjetMail.Configuration.Fields.Item("truclong")

ObjetConf.Item(("truc_long")

c'est plus dense
mais en regard de la taille de "truc_long"
ce luxe me semble soudain bien vain :o)

y'a pas à dire, Chez MS y'a des comiques ...


Une question pour finir ...

Bon c'est bien beau mais quand on fouille la doc de VBS
on ne voit rien concernant ces objets forts utiles
( comme CDO)
alors ...
Peut-on trouver qq-part une liste d'objets utilisables ainsi ...
ou bien doit-on se contenter
des trouvailles faites au hasard en zonant dans MSDN ?

A+

HB



Avatar
Jean-Claude BELLAMY
Dans le message :,
bayosky a pris la peine d'écrire ce qui suit :
[...]
Bon c'est bien beau mais quand on fouille la doc de VBS
on ne voit rien concernant ces objets forts utiles
( comme CDO)
alors ...
Peut-on trouver qq-part une liste d'objets utilisables ainsi ...
Hélas non !

Sauf si un internaute développeur s'y est déjà "collé" !
En tout cas, une telle liste n'existe pas chez Microsoft ... :-( :-( :-(
:-( :-( :-(

ou bien doit-on se contenter
des trouvailles faites au hasard en zonant dans MSDN ?


Eh oui ... ou sur des sites de dévloppement ... ou dans des bouquins ....
http://www.bellamyjc.org/fr/vbsgeneralites.html#docs


--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP] - http://www.bellamyjc.org
ou http://www.bellamyjc.org ou http://jc.bellamy.free.fr

Avatar
Jean
Peut-on trouver qq-part une liste d'objets utilisables ainsi ...


Il faut faire une liste par machine, chaque ordinateur n'ayant pas les
mêmes objets *installés*.

Vous pouvez construire une liste des objets installés en utilisant par
exemple un script simple dans ce genre ci ( qui utilise la classe
Win32_ClassicCOMClassSetting de WMI):

http://automation.eu.tf/Lister_ProgID.VBS (Code en fin de quote)
(note : cette liste n'est pas exhaustive et tout les objets listés ne
seront pas forcément accessibles par WSH)

Vous pouvez aussi exploiter les entrées de la base de registre se
trouvant sous la branche :
HKEY_CLASSES_ROOTCLSID
pour retrouver les ProgID et autres.

Ensuite pour la "documentation", utilisez un brouteur d'objets comme
OleView :

http://www.microsoft.com/windows2000/techinfo/reskit/tools/existing/oleview-o.asp

Note : la plupart des logiciels éditeurs de code disposent d'un tel
outil (et de l'autocomplétion du code).

'---8<---Lister_ProgID.VBS---Jean-JMST-Belgium---
fichier=WScript.ScriptFullName&".txt"

Ecrire Lister_ProgID,fichier
Montrer fichier,True
Voulez_Vous_Effacer fichier

Function Lister_ProgID
Set Collection=_
GetObject _
("winmgmts:")_
.ExecQuery(_
"SELECT * FROM Win32_ClassicCOMClassSetting "&_
"WHERE VersionIndependentProgId<>NULL"_
, "WQL",&h30_
)
For Each objet In Collection
Lister_ProgID=Lister_ProgID&_
objet.VersionIndependentProgId&_
VbNewLine
Next
End Function

Sub Ecrire(quoi,ou)
CreateObject("Scripting.FileSystemObject")_
.CreateTextFile(ou,True)_
.Write Lister_ProgID
End Sub

Sub Montrer(quoi,attendre)
CreateObject("WScript.Shell")_
.Run "notepad.exe """&quoi&""""_
,,attendre
End Sub

Sub Voulez_Vous_Effacer(quoi)
If MsgBox _
(_
"Voulez vous effacer"&VbNewLine&quoi&" ?"_
,VbYesNo _
)=VbYes Then _
CreateObject("Scripting.fileSystemObject")_
.DeleteFile(quoi)
End Sub
'---8<---Lister_ProgID.VBS---Jean-JMST-Belgium---


ou bien doit-on se contenter
des trouvailles faites au hasard en zonant dans MSDN ?


Faire une recherche sur le ProgID qui vous intérresse dans MSDN ou
Technet limitera *grandement* la part de "hasard".

Bonnes découvertes :-)

Amicalement,

--
Jean - JMST
Belgium

Avatar
bayosky
Dans le message ,
Peut-on trouver qq-part une liste d'objets utilisables ainsi ...


Il faut faire une liste par machine, chaque ordinateur n'ayant pas
les
mêmes objets *installés*.

Oui bien sûr mais pas mal de choses sont là par défaut c'est

d'ailleurs ce qui permet de proposer des scripts qui fonctionnent :o)

(...)

merci pour le reste ... je vais m'instruire un instant ...


HB


Avatar
Jean
Oui bien sûr mais pas mal de choses sont là par défaut


Pour trouver ce qui est présent par défaut dans une distribution
Windows, on peut traiter (en se basant sur une classe WMI ou la branche
HKEY_CLASSES_ROOTCLSID du registre) par exemple les valeurs
InprocServer32
(certaines autres valeurs des classes WMI ou du registre sont assez
"parlante" aussi).

Celle ci contient le chemin du fichier qui contient l'objet.

Le répertoire et les propriétés de ce fichier peuvent déjà vous
éclairer sur l'origine.

Pour savoir si celui-i fait partie d'une distribution Windows, faites
une recherche sur le nom de ce fichier dans la DLL Help Database :

http://support.microsoft.com/dllhelp/

par ex. pour wshom.ocx :

http://support.microsoft.com/dllhelp/?dlltype=file&lU&alpha=wshom.ocx&S=1&x=8&y

Vous aurez déjà fait un tri ... mais gardez à l'esprit qu'être
*présent* dans une distribution ne veux pas nécessairement dire être
*installé* par défaut par une distribution.

Amicalement,

--
Jean - JMST
Belgium

Avatar
bayosky
bonsoir,

que tout cela est compliqué ... :o)

HB
Avatar
Jean
que tout cela est compliqué


Sur un groupe technique il ne faut pas s'attendre a y trouver des
choses simples ... en apparence ( a méditer :O) )

Amicalement,

--
Jean - JMST
Belgium

Avatar
bayosky
Dans le message ,
que tout cela est compliqué


Sur un groupe technique il ne faut pas s'attendre a y trouver des
choses simples ... en apparence ( a méditer :O) )

ça tombe bien ... li est tard ... c'est l'heure d'aller méditer :o)


amicalmement :o)

HB


Avatar
Jean
amicalmement


J'aime assez la formule :O)
Je la replacerai sûrement un de ces quatre :O)

Amicalmant,

--
Jean - JMST
Belgium

1 2