Accèder au object d'un formulaire d'une page afficher dans un webbrowser

Messages postés
144
Date d'inscription
samedi 21 octobre 2000
Statut
Membre
Dernière intervention
7 mai 2009
-
Messages postés
6
Date d'inscription
jeudi 26 février 2004
Statut
Membre
Dernière intervention
23 juin 2004
-
Comment faire pour accèder au object afficher dans un webbrowser?
Par exemple, si je mé cette page là de VBFRANCE pour déposer un message, vous voyé ya un Sujet avec un barre ou l'on peut écrire, et ben je voudrais a partir de mon appli pouvoir écrire la dedans (avec une textebox par exemple)

Merci @+
Tuizi

2 réponses

Messages postés
46
Date d'inscription
vendredi 12 avril 2002
Statut
Membre
Dernière intervention
11 juin 2003

Il faut tout d'abord repérer la structure du site.
Par exemple je vois que le sujet est un INPUT dont le nom 'name' est titre et la value est "Re : ...."
OK.
Il te faut ajouter deux réfrences.
- Microsoft internet controls
- Microsoft html object library
Ensuite il te faut déclarer deux variables une
ex : private page as HTMLDocument.
Elle permet d'avoir tout le document
l'autre : private TITRE as HTMLInputElement
On lui affectera la textbox TITRE du site.
Tu suis toujours...

Une fois ta page chargée dans le webbrowser.
tu l'affecte à la variable HTML
set html = webbrowser.document
ensuite
on affecte a TITRE l'objet de la page que tu veut modifier.
set TITRE = html.getelementsbyname("TITRE")
et ensuite
titre.value = "TU mets ce que tu veut "
Le tour est jouer
tu peut aussi changer les couleurs la place

LE plus important c la deuxième variable elle faut qu'elle soit du type de l'objet HTML sinon tu n'auras pas les bonne propriété.

Il se peut aussi que l'objet sois un sous objet d'un autre dans ce cas tu dois d'abord sélectionner l'objet et ensuite sélectionner le sousobjet de la même façon.

Pour voir la structure du document je te conseille visual studio anlyser tu fais un copier coller de la page dans ce logiciel et il te dira la structure

bonne chance et n'hésite pas si j'ai pas été clair.
Messages postés
6
Date d'inscription
jeudi 26 février 2004
Statut
Membre
Dernière intervention
23 juin 2004

Salut,

J'ai bien suivi tes explications et visiblement ça marche, VB ne me génère pas d'erreurs. Cependant lorsque j'ouvre ma page html à nouveau, les modifications ne sont pas prises en compte. Doit-on recharger le page ou enregistrer les modifications? Si oui, Comment?

Merci de votre aide.

Voilà mon code et ma page (c'est très primitif mais c'est juste un test)

CODE :

Private page As HTMLDocument
Private titre As HTMLInputElement

Private Sub Command1_Click()

Set explorer = CreateObject("internetexplorer.application")
explorer.Visible = False
explorer.navigate "C:\magalie\UEM\essai\uneCase.htm"
Set page = explorer.document
Set titre = explorer.document.getElementById("case")
MsgBox (titre.Value) ' il m'affiche vide
titre.Value = "15"
MsgBox(titre.value) ' il m'affiche 15

PAGE :

<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<form name="formulaire1">

</form>

</html>