Bonjour,
Je souhaite réaliser un fichier vbs qui me permet d'ouvrir dans plusieurs onglets Internet Explorer, des sites sécurisés (nécessite login et mot de passe).
Grace à l'aide de ce forum j'ai abouti à mon objectif, mais chaque nouvel onglet nécessite que la procédure du précédent soit achevée, ce qui est relativement long (entre 10 et 15 onglets).
Afin de remédier à cela, j'ai songé à la méthodologie suivante: Faire un vbs qui ouvre une instance IE, puis exécute d'autres fichiers vbs (un pour chaque onglet), ce qui permet d'avoir une connexion quasi simultanée de l'ensemble des sites sur l'instance IE.
Voici le code de mon fichier principal
Voici le code type pour chaque onglet
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 Option Explicit 'Déclaration des variables Dim IE Dim Shell Dim HandleIE Dim Onglet1 'Définit l'objet WshShell qui permettra d'accéder aux fonctions du système Set Shell= WScript.CreateObject("WScript.Shell") 'Ouvre une Instance d'internet explorer Set IE = WScript.CreateObject("InternetExplorer.Application") 'Configuration d'Internet Explorer IE.visible=True IE.Silent = True 'Récupére le handle de l'Instance d'Internet Explorer HandleIE = IE.HWND 'Exécution du fichier Onglet1.vbs Set Onglet1 = Shell.Exec ("WScript ""C:\...\...\Onglet1.vbs"" " & """" & HandleIE & """") 'Exécution du fichier Onglet2.vbs Set Onglet1 = Shell.Exec ("WScript ""C:\...\...\Onglet2.vbs"" " & """" & HandleIE & """") 'Exécution du fichier Onglet3.vbs ..... et ainsi de site pour tous les sites 'Libére la mémoire Set Shell = nothing set Onglet1 = nothing
J'arrive donc à renvoyer le handle de l'instance IE grâce aux arguments, faire une boucle pour récupérer l'instance précédemment ouverte (enfin je crois), mais malheureusement aucune réaction sur l'instance IE déjà ouverte, pas de création d'un nouvel onglet, ni de connexion sur l'url.
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 Option Explicit 'Déclaration des variables et constantes Dim IE Dim Shell, shellApp Dim HandleIE Dim FenIE ,shellwindows Const AjoutOnglet = 2048 'Définit l'objet WshShell qui permettra d'accéder aux fonctions du système Set Shell= WScript.CreateObject("WScript.Shell") 'Récupére le handle de l'Instance d'Internet Explorer HandleIE = wscript.arguments(0) 'Définit l'objet Application qui permettra d'accéder aux applcations du système Set shellApp = WScript.CreateObject("Shell.Application") 'Boucle sur l'ensemble des fenêtre IE pour trouver celle correspondante au HandleIE Set shellwindows = shellApp.Windows For Each FenIE in Shellwindows If FenIE.hwnd = HandleIE Then Set IE=FenIE Exit for End If Next 'Ouvre l'URL du site dans un nouvel onglet IE.Navigate2 "www......com",AjoutOnglet 'ici le code de connexion avec login et mot de passe 'Libére la mémoire Set shell = Nothing Set shellwindows = Nothing Set shellApp = Nothing Set shellwindows = Nothing
Si quelqu'un peut m'aiguiller, ce serait sympa, d'autant que je suis novice.
Merci à tous
Partager