Script Vbs et formulaires dans IE

Script Vbs et formulaires dans IE - VB/VBA/VBS - Programmation

Marsh Posté le 28-06-2005 à 20:52:15    

Bonjour,  
 
Je souhaite créer un script VBS avec une interface web (html).  
Mon script ouvre donc un popup contenant un formulaire  
J'arrive à récupérer les valeurs saisies dans le formulaire (heureusement !) mais je n'arrive pas à faire le contraire :  
 
Je voudrais afficher à l'ouverture du popup les valeurs par défaut dans les champs texte, ces valeurs étant définies dans le script VBS de départ. En clair, je veux récupérer dans le code de la page une variable (ou plusieurs) définie dans le script de départ.  
 
Si vous avez des infos, merci d'avance !
 

Reply

Marsh Posté le 28-06-2005 à 20:52:15   

Reply

Marsh Posté le 06-07-2005 à 11:15:38    

Plus de détails :
La page web est ouverte par un script (Gestion d'utilisateurs sur server 2000 ) par :
 
Set oIE = WScript.CreateObject("InternetExplorer.Application", "IE_" )
oIE.navigate GetPath() & "interface_gestion.htm"
 
Je récupère la valeur des champs par :
 
strOUpeda = oIE.Document.formulaire.strOUpeda.value
...
 
Dans la page, j'initialise la valeur des champs par un bout de script vbs :
 
Sub Window_OnLoad()
Document.formulaire.strOUpeda.value="PEDAGOGIE"
....
End Sub
 
Ce que je voudrais, c'est initialiser la valeur des champs par le script de départ, car là, elle sont dans la page, pas top ....
 
J'espère que ces infos supplémentaires vous aiderons ...

Reply

Marsh Posté le 06-07-2005 à 12:08:25    

Gigatof a écrit :

Plus de détails :
La page web est ouverte par un script (Gestion d'utilisateurs sur server 2000 ) par :
 
Set oIE = WScript.CreateObject("InternetExplorer.Application", "IE_" )
oIE.navigate GetPath() & "interface_gestion.htm"
 
Je récupère la valeur des champs par :
 
strOUpeda = oIE.Document.formulaire.strOUpeda.value
...
 
Dans la page, j'initialise la valeur des champs par un bout de script vbs :
 
Sub Window_OnLoad()
Document.formulaire.strOUpeda.value="PEDAGOGIE"
....
End Sub
 
Ce que je voudrais, c'est initialiser la valeur des champs par le script de départ, car là, elle sont dans la page, pas top ....
 
J'espère que ces infos supplémentaires vous aiderons ...


 
 
Bonjour je dirais qu'il faut proceder ainsi :
 
Tout d'abord entrer tout le script de ta page html dans une variable grace a une petite boucle :
 
Set f=fso.OpenTextFile(path,1)
 Do while f.AtEndOfStream = false
  my_text = my_text & f.ReadLine
   
 loop
Set f= Nothing
 
Dans cette variable tu as tes champs de formualaires qui doivent ressembler a ca :
 
<input type="text" value="" name="prenom" .... etc
 
pour ce ca la il suffit de faire un replace comme suit :
 
my_text = replace (my_text,"value="""" ", "value=""champ_souhaiter"" " )
 
J'ai doublées toutes les doubles cotes volontairement pour pas que vbs te genere une erreur.
 
Voila j'espere que ca pourra t'aider.
Cordialement julien

Reply

Marsh Posté le 07-07-2005 à 09:15:57    

la solution :
 
Tout simplement, après la déclaration de l'objet oIE :
oIE.Document.formulaire.Myvar.value="blablabla"
Problème résolu.

Reply

Marsh Posté le 07-07-2005 à 10:44:38    

Gigatof a écrit :

la solution :
 
Tout simplement, après la déclaration de l'objet oIE :
oIE.Document.formulaire.Myvar.value="blablabla"
Problème résolu.


 
 
En effet plus simple  :p

Reply

Marsh Posté le 07-07-2005 à 13:20:43    

Gigatof a écrit :

la solution :
 
Tout simplement, après la déclaration de l'objet oIE :
oIE.Document.formulaire.Myvar.value="blablabla"
Problème résolu.


 
 
J'ai un probleme qui t'es peut etre arrivé, il s'agit de recuperer des champs dans un formulaires egalement mais dans le cas de la multi-saisi dans un select
 
Si je selectionne plusieurs champ dans mon select je n'arrive pas a recuperer toutes les valeurs.

Reply

Marsh Posté le 07-07-2005 à 13:31:45    

"multi-saisi dans un select" : C'est à dire exactement ?
 
Si chaque champ a un nom différent, il n'y a pas de problème normalement ...
 
Précise ton problème, stp.

Reply

Marsh Posté le 07-07-2005 à 13:47:13    

Gigatof a écrit :

"multi-saisi dans un select" : C'est à dire exactement ?
 
Si chaque champ a un nom différent, il n'y a pas de problème normalement ...
 
Précise ton problème, stp.


 
 
dans un select tu as le parametre "multiple" qui sur ta page html en laissant ctrl appuyer te permet de selectionner plusieurs champs de ton select. Moi je voudrais recuperer toutes les valeurs selectionnées.
 
En javascript j'ai vu que pour le name du select il le definissait en tableau cad : name=toto[]
ensuite pour recuperer les valeurs :
toto[] = oIE.all.document.toto[].value  mais ca na pas l'air de fonctionner...

Reply

Marsh Posté le 07-07-2005 à 16:59:50    

Désolé, je ne connais pas ...
Même en récupérant variable par variable, ca ne focntionne pas ?
exemple :
toto1 = oIE.all.document.toto(1).value
toto2 = oIE.all.document.toto(2).value
...
(d'ailleurs, il ne manque pas le nom du formulaire dans ton expression ? style "oIE.all.document.form.toto[].value" et c'est quoi le "all" ?)
 
Et si tu utilise des cases à cocher devant les champs à récupérer ? c'est ensuite le script qui fait le boulot, non ?

Reply

Marsh Posté le 07-07-2005 à 17:08:07    

Gigatof a écrit :

Désolé, je ne connais pas ...
Même en récupérant variable par variable, ca ne focntionne pas ?
exemple :
toto1 = oIE.all.document.toto(1).value
toto2 = oIE.all.document.toto(2).value
...
(d'ailleurs, il ne manque pas le nom du formulaire dans ton expression ? style "oIE.all.document.form.toto[].value" et c'est quoi le "all" ?)
 
Et si tu utilise des cases à cocher devant les champs à récupérer ? c'est ensuite le script qui fait le boulot, non ?


 
Vu kon a changer legerement de sujet je reposte en ce moment meme, mais pour repondre a tes questions toto(1) etc ne marche pas, le all est pour acceder a l'ensemble du html et j'ai pas nomé mon form donc il n'est pas necessaire de le cité dans la recuperation (verifié puisque la recuperation de mon formulaire march tres bien).
 
Je poste un message plus clair dans kelkes minutes
Merci de ton interet

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed