Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 08/04/2011, 14h19   #1
Membre du Club
 
Inscription : février 2009
Messages : 150
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 150
Points : 50
Points : 50
Par défaut du vbs vers le vba et IE

bonjour,

ayant trouvé ce code vbs prévu pour un ficher auth.vbs j'aurais aimé l'intégrer dans une appli access sur le click d'un bouton mais telquel ça bloque déjà sur WScript.Sleep

en supprimant cette partie du code
Code :
1
2
3
Do While (IE.Busy)
   WScript.Sleep 1000
Loop
le code ouvre bien la page web demandé mais la suite bloque avec comme message d'erreur:

Erreur d'éxécution '-2147467259(80004005)'
La Méthode 'Document' de l'objet IWebBrowser2' a échoué


pourriez-vous m'éclairer svp ?
merci

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
dim IE
dim variable
dim Helem
 
Set IE = Wscript.CreateObject("InternetExplorer.Application")
Set variable=CreateObject("WScript.Shell")
 
 
IE.Visible = 1 
IE.navigate "http://tprost1s5:221/auth/authentication.aspx"
 
Do While (IE.Busy)
   WScript.Sleep 1000
Loop
 
Set Helem = IE.document.getElementById("login")
Helem.value = "nomut"
Set Helem = IE.document.getElementById("password")
Helem.value = "passwut"
 
 
variable.SendKeys ("{enter}")
novice06 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/04/2011, 20h33   #2
Rédacteur
 
Avatar de LedZeppII
 
Homme
Maintenance données produits
Inscription : décembre 2005
Messages : 3 939
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Maintenance données produits
Secteur : Distribution

Informations forums :
Inscription : décembre 2005
Messages : 3 939
Points : 6 278
Points : 6 278
Bonsoir,

tu as une erreur parce que le chargement de la page n'est pas terminé.

A la place de la boucle
Code :
1
2
3
Do While (IE.Busy)
   WScript.Sleep 1000
Loop
mets celle-ci
Code :
1
2
3
Do
    DoEvents
Loop Until IE.Busy = False And IE.ReadyState = 4
Si tu veux utiliser Sleep à la place de DoEvents, il faut déclarer la procédure (API)
Code :
Declare Sub Sleep Lib "kernel32.dll" (ByVal dwMillisecs As Long)
La déclaration doit se faire dans section Déclarations d'un module de code (là où on déclare les constantes et variables globales d'un module)

Les valeurs possibles de ReadyState sont
Code :
1
2
3
4
5
READYSTATE_UNINITIALIZED = 0
READYSTATE_LOADING = 1
READYSTATE_LOADED = 2
READYSTATE_INTERACTIVE= 3
READYSTATE_COMPLETE = 4
A mon avis tu n'as pas besoin de créer un objet "WScript.Shell" pour utiliser SendKeys (lignes 6 et 22 dans ton code).
Sendkeys existe dans VBA.

A+
LedZeppII est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/04/2011, 14h47   #3
Membre du Club
 
Inscription : février 2009
Messages : 150
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 150
Points : 50
Points : 50
Par défaut Suite possible ? id variable !?

bonjour et merci
donc voici ce que donne le code et celui-ci est fonctionne
j'aimerais passer à la suite maintenant si possible ?

à la fin du code ci-dessous je rajoute
Code :
1
2
3
IE.navigate "https://ctxgate.societe.net/Citrix/site/launcher.aspx?NFuse_Application=Citrix.MPS.App.societefrance.VTMETIER&LaunchId=1302508454158"
 
SendKeys ("{enter}")
le problème est que le LauchId qui est ici 1302508454158 change régulièrement !?

y-a-t'il un moyen de contourner cela en passant par un autre element ?
ce lien est relation avec une icone
Code :
https://ctxgate01.societe.net/Citrix/site/icons.aspx?size=normal&id=POFJFEIOMGMAEDNCDLNEKIEBNMBBIINO
dont l'id ne change pas

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
dim IE
dim Helem
 
Set IE = CreateObject("InternetExplorer.Application")
 
IE.Visible = 1 
IE.navigate "http://tprost1s5:221/auth/authentification.aspx"
 
Do
    DoEvents
Loop Until IE.Busy = False And IE.ReadyState = 4 
 
Set Helem = IE.document.getElementById("login")
Helem.value = "nomut"
Set Helem = IE.document.getElementById("password")
Helem.value = "passwut"
 
SendKeys ("{enter}") 
 
IE.navigate "https://ctxgate.societe.net/Citrix/site/launcher.aspx?NFuse_Application=Citrix.MPS.App.societefrance.VTMETIER&LaunchId=1302508454158"
 
SendKeys ("{enter}")
merci par avance
novice06 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h29.


 
 
 
 
Partenaires

Hébergement Web