CreateObject("wscript.shell"),

tonytruand Messages postés 175 Date d'inscription samedi 23 octobre 2004 Statut Membre Dernière intervention 8 mars 2015 - 22 nov. 2007 à 20:37
tonytruand Messages postés 175 Date d'inscription samedi 23 octobre 2004 Statut Membre Dernière intervention 8 mars 2015 - 23 nov. 2007 à 17:29
Bonsoir,

Atout hazard je pose cette question ici car je n'ai jusqu'à ce jour pas trouvé de solution

j'aimerais lancer une requête SAS à partir d'un VBS, si j'écrit ici c'est parce qu'il est peut être possible de la lancer avec CreateObject("wscript.shell"), mais là je ne sais pas faire

quelqu'un aurait il une idée

merci par avance

3 réponses

cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
23 nov. 2007 à 15:03
Salut,


C'est quoi une requête SAS ?


CreateObject("wscript.shell") permet de créer une instance de classe. Voici les méhodes de cette classe, et une description en français.

3ème année en ecole d'ingé d'info cherche stage de 4 mois à partir du 01/04/08
0
cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
23 nov. 2007 à 15:33
Ouaouh, c'est une belle usine à gaz le SAS...


Tu peux effectivement utiliser cette application depuis du VBS en utilisant CreateObject.

Mais il faut pas demander une wscript.shell, plutôt une "SAS.Application".

t&ct=res&cd=3&url=http%3A%2F%2Fwww2.sas.com%2Fproceedings%2Fsugi30%2F009-30.pdf&ei=yeBGR9vTDY20nQObleXzBA&usg=AFQjCNHSy40Qf0Xi6Cpm8WmfURnG8_Qoaw&sig2=R-_sWw0pDXHPj7Y_Jo9vAQ Ici, il y a un pdf où on trouve ce code :

Const SasFolder = "C:\SAS\SASUSER"
Dim FSO, SasPth, TextStream
Set FSO = CreateObject ("Scripting.FileSystemObject")
Set SasPth = FSO.GetFolder(SasFolder)
Set TextStream = SasPth.CreateTextFile("test.sas")
TextStream.Write("data test;a=1;output;proc print;run;")
TextStream.Close

Dim objSAS
Set objSAS = Wscript. CreateObject ("SAS.Application.8")
objSAS.Visible = True
objSAS.Submit("%INCLUDE 'C:\SAS\SASUSER\test.sas';")

La première partie crée un fichier texte avec data test;a=1;output;proc print;run; dedans. Je suppose que c'est une requête SAS, ou du moins du script SAS ou quelque chose comme ça...


La deuxième partie crée une instance de SAS.Application (Le 8, je sais
pas ce que c'est... La version peut être. Probablement facultatif).
Puis il met la propriété visible de cette instance à True, probablement
pour afficher l'appli. Et finalement il utilise la méthode Submit pour
executer un bout de requête/script SAS. Ce bout de script demande
l'inclusion du fichier précédent. Autrement dit, le code contenu dans
le fichier de script créé précédemment  est executé.
3ème année en ecole d'ingé d'info cherche stage de 4 mois à partir du 01/04/08
0
tonytruand Messages postés 175 Date d'inscription samedi 23 octobre 2004 Statut Membre Dernière intervention 8 mars 2015
23 nov. 2007 à 17:29
MERCI BEAUCOUP POUR CETTE SUGGESTION,
j'y regarde de plus prés lundi au boulot car je ne dispose pas de SAS à la maison

merci encore et à bientot
0
Rejoignez-nous