Forum |  HardWare.fr | News | Articles | PC | Prix | S'identifier | S'inscrire | Aide | Shop Recherche
1814 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  garder la valeur d'un champs VBS vers html

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

garder la valeur d'un champs VBS vers html

n°1919005
vinc70m
Posté le 27-08-2009 à 20:35:46  profilanswer
 

bonjour,
Presque totalement débutant dans le VBS et html. J'ai commencé un bout de code pour envoyé des messages sur un reseau, utilisant l'utilitaire psexec de microsoft et le code commenté sur ce site modifié de MR Bellamy.
 
http://jc.bellamy.free.fr/fr/vbsavance.html
 
L'envoie des messages fonctionne nikel a condition que sur tous les poste il y ait le meme compte avec meme mot de passe mais ca je vais l'améliorer.  
d'autre fonction sont a prévoir.
Mon probleme:
Je voudrais que la variable concernant le champs "IP/NOM DE STATION" ne s'efface pas apres l'envoie d'un premier message.
 
Voici mon code:
Le fichier: TEST.VBS
' ----------------------------------------------------------
' Script de test d'utilisation de formulaire
' à l'aide de Internet Explorer
'
' JC BELLAMY © 2001
' ----------------------------------------------------------
Dim shell, oIE
Set objShell = Wscript.CreateObject("Wscript.Shell" )
Set shell = WScript.CreateObject("Shell.Application" )
Set shell = WScript.CreateObject("WScript.Shell" )
Do While true
' Ouverture d'Internet Explorer
 Set oIE = WScript.CreateObject("InternetExplorer.Application", "IE_" )
 oIE.Left = 50        
 oIE.Top = 100  
 oIE.Height = 550
 oIE.Width = 550
 oIE.MenuBar = 0          
 oIE.ToolBar = 0
 oIE.StatusBar = 0
 oIE.navigate GetPath() & "test.html"  
 oIE.Visible = 2      
 Do While (oIE.Busy)    
  WScript.Sleep 200  
  Loop
 shell.AppActivate "Test de formulaire avec IE"
 
 ' Attente d'action sur le bouton ou fermeture de la fenêtre
 On Error Resume Next  
 Do                    
  WScript.Sleep 100
  Loop While (oIE.Document.Script.CheckVal() = 0)
' Si on ferme directement IE sans passer par un bouton,  
' cela provoque une erreur qui est détectée et alors
' on quitte le script
 If Err <> 0 Then  
  Wscript.Echo "On a fermé IE directement"  
  Wscript.quit
  end if
 test=oIE.Document.Script.CheckVal()
 If test=-1 Then  
  CloseIE
  Wscript.Echo "On a appuyé sur Annuler"
  Wscript.quit
  end if
 
 Choix2=oIE.Document.TestForm.autre.value
 
 Wscript.Echo "Envoie de votre message en cours... " & test & VBCRLF & VBCRLF _
 & "IP/Nom de station : " & oIE.Document.TestForm.IP.value & VBCRLF _
 & "Texte : " & oIE.Document.TestForm.texte.value & VBCRLF _
 & "Mot de passe : " & oIE.Document.TestForm.pwd.value
 
 objShell.Run "PSExec \\"& oIE.Document.TestForm.IP.value &" -s -c RunAsLoggedOnUser.exe -wait -cmd ""msg.exe {username} "& oIE.Document.TestForm.texte.value &""""  
 CloseIE
 loop
'------------------------------------------------------------
' Fonction de récupération du répertoire courant
Function GetPath()
Dim path
path = WScript.ScriptFullName
GetPath = Left(path, InStrRev(path, "\" ))
End Function
'------------------------------------------------------------
' Fermeture d'Internet Explorer
Sub CloseIE
oIE.Quit        
Set oIE = Nothing
End Sub
'------------------------------------------------------------
 
Le fichier test.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>Test de formulaire avec IE</TITLE>
<link rel="stylesheet" type="text/css" href="../../jcb.css">
</HEAD>
<body bgcolor="#FFFFD2" scroll="no">
<script language="VBScript">  
<!--
Dim ready, index  
' Action sur les boutons
Sub B0_OnClick
ready=-1  
End Sub
 
Sub B1_OnClick
ready=1  
End Sub
 
Sub B2_OnClick
ready=2  
End Sub
 
' Initialisation
Sub Window_OnLoad()
ready=0  
End Sub
 
' Fonction utilisable de l'extérieur pour tester l'envoi
Public Function CheckVal()
CheckVal=ready
End function
'-->
</script>
 
<form name="TestForm">
<h3><center>TITI MESSENGER</center></h3><hr>
 
IP/Nom de station : <input type="text" size="10" name="IP"><br>
<hr>
Taper votre message :<br>
<textarea cols="40" rows="5" name="texte"></textarea><hr>
Admin : <input type="text" size="10" name="autre"><br>
Mot de passe : <input type="password" size="10" name="pwd"><hr>
 
 
<hr>
<hr>
Envoyer un fichier : <input type="file" size="60" name="fichier"><hr>
<hr>
<input type="button" value="Envoyer" name="B1">
<input type="button" value="Envoyer un fichier" name="B2">
 
</form>
</body>
</html>
 
On trouve psexec ici:
http://technet.microsoft.com/fr-fr [...] 97553.aspx
 
Donc si kelkun peu me guidé .
Merci
 
Vincent

mood
Publicité
Posté le 27-08-2009 à 20:35:46  profilanswer
 

n°1920449
Wysi
Posté le 01-09-2009 à 21:13:28  profilanswer
 

Je fais plus de vbs depuis longtemps mais si je ne me trompe pas là ton script il crée une fenêtre IE à partir d'un formulaire "test.html" vide exécute les opérations, la referme derrière, la recrée etc.
 
Donc forcement vu qu'il va directement taper dans le champ du formulaire pour IP/Nom de station il risque pas de garder la valeur.
 
Il faut donc déclarer une variable chaîne de caractères dans laquelle tu mettras l'info que tu veux garder et la réutiliser à chaque fois.
 
Pour ça tu rajoutes un  

Code :
  1. Dim strInfos as string


au début de ton vbs.  
 
Au dessus de  

Code :
  1. Wscript.Echo "Envoie de votre message en cours... " & test & VBCRLF & VBCRLF _
  2. & "IP/Nom de station : " & oIE.Document.TestForm.IP.value & VBCRLF _
  3. & "Texte : " & oIE.Document.TestForm.texte.value & VBCRLF _
  4. & "Mot de passe : " & oIE.Document.TestForm.pwd.value


 
Tu ajoutes un  
 

Code :
  1. strInfos = oIE.Document.TestForm.IP.value


 
et en dessous du  

Code :
  1. oIE.Visible = 2

 
 
tu mets un truc qui doit ressembler à :

Code :
  1. oIE.Document.TestForm.IP.value = strInfos


 
(Parce que j'imagine que tu veux garder les infos pour éviter de retaper toute une adresse IP alors que tu veux changer seulement un ou deux chiffres à la fin.)
 
Mais bon vu que tu essayes de faire une appli de broadcast je pense que le mieux serait de mettre les IPs de tes machines cibles dans un tableau.

n°1924768
vinc70m
Posté le 17-09-2009 à 11:29:37  profilanswer
 

Merci pour ta réponse. Mais me met une erreur des la déclaration de la valeur: Dim strInfos as string
as string ca corespond a kel type de variable?
 
Quand j'enleve le "as string"
 
Il me met une erreur  a la ligne ou j'ai ajouté
 
oIE.Document.TestForm.IP.value = strInfos

n°1924783
vinc70m
Posté le 17-09-2009 à 12:28:37  profilanswer
 

Merci pour ta réponse. Mais me met une erreur des la déclaration de la valeur: Dim strInfos as string
as string ca correspond a kel type de variable?
 
Quand j'enleve le "as string"
 
Il me met une autre erreur  a la ligne ou j'ai ajouté
 
oIE.Document.TestForm.IP.value = strInfos

n°1924788
vinc70m
Posté le 17-09-2009 à 12:44:38  profilanswer
 

Ca marque en erreur "cette objet ne gere pas cette propriété ou cette méthode: "Document.testform"
 
dans la boucle "Do While true"
il doit pas gerer cette variable??

n°1925361
vinc70m
Posté le 20-09-2009 à 17:33:44  profilanswer
 

sinon j'ai trouvé fallais mettre le:
 
oIE.Document.TestForm.IP.value = strInfos
 
apres:
WScript.Sleep 200


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  garder la valeur d'un champs VBS vers html

 

Sujets relatifs
garder la valeur d'un champs VBS vers htmlVBA :Garder les arrondi avec les pourcentages
sendAndLoad // Boucle For + onRelease(valeur i)Group by selon une liste de valeur
Comment convertir du code html en texte lisible 
Plus de sujets relatifs à : garder la valeur d'un champs VBS vers html


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite) / Groupe LDLC / Shop HFR