sechanbask
Messages postés21Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention12 mai 2009
-
24 janv. 2008 à 08:22
sechanbask
Messages postés21Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention12 mai 2009
-
12 mai 2009 à 22:18
Le problème c'est qu'il est sécurisé et que je dois donner par 2 fois (une fois sur la page à laquelle vous avez accès et une fois sur celle qu'elle ouvre une fois les mots de passes envoyé) mon nom et mon mot de passe avant d'accédér à l'interface qui me permet d'envoyer mes plans... alors j'ai pondu sous mon logiciel de dessin (autocad) qui suporte le VBA ce code là mais je n'arrive pas à avoir accèder à l'endroit où je dois laisser mon mon et mon mot de passe...
Je vous laisse mon début de code qui peut être lancer via tout interpréteur VBA ( ajouter les références Microsoft Internet Control, Microsoft HTML Object Library) :
Sub Lancer_Edoc()
Dim ie As New InternetExplorer
Dim RegEx As RegExp, RegMatch As MatchCollection
Dim MyStr As String
Dim htmldoc As HTMLDocument
Set htmldoc = ie.Document
Dim SearchTextField As HTMLObjectElement
Dim htmlElement As HTMLObjectElement
'Dim htmlElement As HTMLText
For Each htmlElement In htmldoc.all
' If (htmlElement.tagName Like "INPUT") Then
If (InStr(1, htmlElement.outerHTML, "type=text") > 0 Or InStr(1, htmlElement.outerHTML, "type=") = 0) Then
Set SearchTextField = htmlElement
'Debug.Print
Debug.Print "ok"
End If
'End If
'Debug.Print htmlElement.outerHTML
'Debug.Print htmlElement.innerText
'Debug.Print htmlElement.TabIndex
Next
On Error Resume Next
SearchTextField.Value = "oj"
Private Sub Form_Unload(Cancel As Integer)
Set AfIE = Nothing
End Sub
Private Sub AfIE_LoadCompleted()
AfIE.SetObjectValueByName "username", "NOM D'UTILISATEUR"
AfIE.SetObjectValueByName "password", "MOT DE PASSE"
AfIE.ClickButtonByName "btnSubmit" '<- pas testé mais
devrait suffire
End Sub
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 25 janv. 2008 à 13:36
en effet tu te trompes ^^
tu ouvres la page (code fourni au dessus) avec la classe (fournie dans la source/lien), elle te renvoie le moment où la page est prête, et tu continues à partir de l'évènement renvoyé
tout çà c'est un nouveau projet... plus besoin du code que tu avais indiqué
++
Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
Vous n’avez pas trouvé la réponse que vous recherchez ?
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 27 janv. 2008 à 14:03
salut,
le message d'erreur est pourtant clair, il ne faut pas mettre le code dans une module standard
tu dois ajouter AfCls_IE.cls, AfCls_Timer.cls et Mod_Timer.bas à ton projet
tu dois déclarer (et instancier) uniquement AfCls_IE.cls, ce avec WITHEVENTS, qui n'est supporté que par un UC, une FORM (userform en VBA), ou une module de classe (module objet comme l'indique l'erreur)
++
Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
sechanbask
Messages postés21Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention12 mai 2009 3 févr. 2008 à 10:04
Je suis désolé mais j'avoue qu'une fois encore je n'arrive pas à lancer ton code... je suis extrêmenent débutant et je n'envisage pas d'en faire une passion folle j'ai pas de littérature :
je te laisse le fichier excel dans lequel j'ai ajouté les modules et classes nécessaires. J'aimerais que tu y regardes pour me dire ce que j'ai mal fait ou pas fait:
sechanbask
Messages postés21Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention12 mai 2009 6 févr. 2008 à 22:01
La programmation m'intéresse un peu mais les 3/4 de ton code est pour
moi du chinois donc je ne comprends pas comment ça marche alors pour automatiser la seconde page je pense que je ne saurais pas faire et comme c'est sécurisé pour que nous seuls puissions déposer des plans... je ne peux pas te donner les codes d'accès. Merci beaucoup de m'avoir aidé.
P.S. Je suis navré d'avoir un niveau tellement bas que ça te rende méprisable. Je me permettrais seulement de rajouter que le problème avec les débutants c'est qu'ils débutent. ça ne tiendrait
qu'à moi je les pendraient tous haut et court, heureusement que je ne
suis pas extrêmiste...
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 6 févr. 2008 à 23:20
sur le tout premier lien, dans les commentaires j'explique le fonctionnement de la source. peut-être qu'une partie t'aidera pour aborder le principe de la classe et d'IE en particulier.
détrompe-toi, je ne méprise pas les débutants.
sinon je n'aurais même pas regardé ton lien ;)
le fait est que pour l'erreur que tu as eu ("valide seulement dans un module objet"), tu as dû avoir les boutons "fin", "débogage" et "aide"
"aide" t'aurais mené vers l'explication plus complète du principe de l'instanciation (objet <> module).
vu la suite c'est que tu n'as pas utilisé l'aide. dans ce cas, à mon sens, ce n'est pas qu'on veut comprendre/apprendre mais juste la solution.
j'en deviens alors.... pragmatique
bon courage dans tes futures démarches, n'hésite pas au besoin...
PCPT [AFCK]
Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
sechanbask
Messages postés21Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention12 mai 2009 10 févr. 2009 à 21:57
Rebonjour,
PCPT, grâce à ton code, j'ai gagné un temps précieux. je vais chercher comment faire pour le faire fonctionner avec internet explorer 7. Mise à jour, windows XP oblige.
sechanbask
Messages postés21Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention12 mai 2009 30 mars 2009 à 10:58
J'essaie désespérément d'envoyer les information de connexion mais rien n'y fait :
il passe bien dans le Private Sub AfIE_LoadCompleted() (j'ai mis une ligne de debug.print pour vérifier) mais il n'envoie pas les nom d'utilisateur et les mots de passe.
il trouve que je suis connecté.
Il ouvre bien le navigateur, mais il n'interagit pas du tout avec lui, et ne me renvoie pas d'erreur. Est-ce que le problème vient d'une déclaration du navigateur ?
Avec IE6, il passe du temps dans Break mais pas avec IE7...
PCPT, pourrais-tu s'il te plait regarder ce problème ?
Merci de bien vouloir m'aider de nouveau.
sechanbask
Messages postés21Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention12 mai 2009 12 mai 2009 à 22:18
Nul besoin de réussir à se logger pour voir que le programme n'envoie pas les informations à IE7.
Sur la page, les champs reste désespérément vides...
Si tu as le temps de jeter un oeil...ça marchait très bien pour IE6, mais pour IE7, ça ne rempli pas les champs.
Le problème c'est que j'ai vraiment besoin de cette boite à plan et de IE7 (pour les problème lié à un serveur de fichier ou le glisser déplacer ne peut pas être interdit)