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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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.