Ecrire dans des controls <input> d'une page de webbrowser

wasylvain - 17 avril 2001 à 18:42
thedjpredator Messages postés 19 Date d'inscription dimanche 20 janvier 2002 Statut Membre Dernière intervention 27 mars 2008 - 7 févr. 2006 à 18:04
Je developpe une appli "clavier virtuel", j'arrive a envoyer mes sendkeys vers tous les controls mais impossible de les faire passer a l'interieur du webbrowser. celui ci prend bien le focus mais ne fait pas passer le send key au control actif de la page HTML ... Quelqu'un a une idée ?
Merci !

5 réponses

j'ai pas la solution a ton probleme , mais si toi tu la trouver sa serais simpas de me la filer.
0
VBNull Messages postés 5 Date d'inscription lundi 28 octobre 2002 Statut Membre Dernière intervention 28 novembre 2002
24 janv. 2003 à 19:54
Et puis depui 2001, qq a trouvé ??? J'ai aussi besoin de faire ce truc ...
0
mamouthix Messages postés 1 Date d'inscription samedi 15 février 2003 Statut Membre Dernière intervention 7 mars 2003
7 mars 2003 à 12:12
j'ai eu le même probleme que toi et j'ai réussi a trouver une parade. en fait quand tu met le focus et que tu fais un sendkey aussitot,, il n'as pas le temps de prendre le focus.

ma technique consiste a faire un timer et a chaque passage dans le timer se prend le focus, puis je tape une lettre, puis une deuxieme,.........
0
rantska Messages postés 1 Date d'inscription mardi 19 octobre 2004 Statut Membre Dernière intervention 27 octobre 2004
27 oct. 2004 à 10:17
Essay le DoEvent comme ca par exemple:
  'mon compte
  WebBrowser.SetFocus
  For nN = 1 To 11
    SendKeys (vbTab) 'pass au menue login 10tab
    DoEvents
  Next nN
  SendKeys ("mon login") 'menu login
  DoEvents
  SendKeys (vbTab) 'pass au menue password
  DoEvents
  SendKeys ("mon pass") 'password
  DoEvents
  SendKeys (vbTab) 'pass au bouton ok
  DoEvents
  SendKeys (vbCrLf) 'entré



Mais je fais comme ca (c plus propre):

Private Sub cmdMajInternet_Click()
'charge la page web du crédit agricole puis
'écrit "tartanpion" dans le champ de texte "Numéro"
'Note: Ce type de zone éditable est un "INPUT" en HTML.
'      Le champ "Numéro" de la page se nome "CCPTE"
'      dans le code HTML de la page.
'==================================================
  Dim HtmlNodes As Variant
  Dim HtmlNode As Variant
  Dim ValeurDuChamp As String
  
  'charge une page HTML d'exemple
  WebBrowser.Navigate ("http://www.ca-sudrhonealpes.fr/")
  Do Until WebBrowser.Busy = False
    DoEvents
  Loop
  'recuper tous les tages HTML de la page (Sibling)
  Set HtmlNodes = WebBrowser.Document.All
  'recherche le champ "Numéro"
  For Each HtmlNode In HtmlNodes
    If HtmlNode.nodeName = "INPUT" Then
      If HtmlNode.Name = "CCPTE" Then
        ValeurDuChamp = HtmlNode.Value
        HtmlNode.Value = "tartanpion"
      End If
    End If
  Next
End Sub
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
thedjpredator Messages postés 19 Date d'inscription dimanche 20 janvier 2002 Statut Membre Dernière intervention 27 mars 2008
7 févr. 2006 à 18:04
J'ai essayé ta partie du code, elle marche très bien
mais le problème c'est lorsqu'il y a
un bouton (validation) comment toujours utiliser
ton HTMLNode mais cette fois pour faire la fonction
de submit du bouton d'une page internet?

Merci d'avance.

TdP.
0
Rejoignez-nous