CreateObject("wscript.shell"),

Messages postés
175
Date d'inscription
samedi 23 octobre 2004
Statut
Membre
Dernière intervention
8 mars 2015
- - Dernière réponse : 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
Afficher la suite 

3 réponses

Messages postés
3982
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
7 novembre 2014
9
0
Merci
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
Commenter la réponse de cs_rt15
Messages postés
3982
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
7 novembre 2014
9
0
Merci
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
Commenter la réponse de cs_rt15
Messages postés
175
Date d'inscription
samedi 23 octobre 2004
Statut
Membre
Dernière intervention
8 mars 2015
0
Merci
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
Commenter la réponse de tonytruand