Exécution d'un VBS avec ouverture formulaire HTML
Bonjour,
J'ai récupéré un code que je veux réutiliser. Il s'agit d'un appel à un formulaire HTML à partir d'un VBS avec récupération des informations saisies.
Voici le code de "test.vbs" :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
| Dim shell, oIE
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
Wscript.Echo "On a appuyé sur le bouton " & test & VBCRLF & VBCRLF _
& "Texte : " & 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
'------------------------------------------------------------ |
Voici le code de "test.html" :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>Test de formulaire avec IE</TITLE>
</HEAD>
<body>
<script language="VBScript">
Dim ready, index
' Action sur les boutons
Sub B0_OnClick
ready=-1
End Sub
Sub B1_OnClick
ready=1
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>Exemple de formulaire en VBS</center></h3><hr>
Texte : <input type="text" size="10" name="texte"><br>
<hr>
<input type="button" value="OK" name="B1">
<input type="button" value="Annuler" name="B0">
</form>
</body>
</html> |
Or, lorsque je lance test.vbs, j'ai le message "On a fermé IE directement" qui apparaît et l'action sur les boutons n'ont plus aucun effet.
De plus, dans la fenêtre d'Internet Explorer, il y a le message "Pour vous aider à protéger votre ordinateur, IE à restreint l'exécution des contrôles ActiveX de cette page Web ..."
Je ne vois pas ce qui ne fonctionne pas.
Pouvez-vous m'aider ?
Merci d'avance.