De VBA à Internet Explorer

Résolu
AngeliusMefyrx Messages postés 52 Date d'inscription lundi 20 mars 2006 Statut Membre Dernière intervention 14 octobre 2007 - 1 avril 2006 à 02:43
AngeliusMefyrx Messages postés 52 Date d'inscription lundi 20 mars 2006 Statut Membre Dernière intervention 14 octobre 2007 - 10 avril 2006 à 13:05
En fait, j'aimerais savoir comment on fait pour utiliser les objets dans le Frame d'une page internet explorer

Voici mon code:

Private Sub LISTE_DblClick(Cancel As Integer)
If ACTIVER.Value = True Then
Dim AllIE, IEnew, Database As Object
Dim PageIE As Variant
Dim i As Variant
Call COMMANDE
PageIE = 6000
Set AllIE = CreateObject("Shell.Application")
For i = 0 To AllIE.windows.Count - 1 If AllIE.windows(i).LocationURL "MONURL1" Or AllIE.windows(i).LocationURL "MONURL2" Then
LIENS = AllIE.windows(i).LocationURL
PageIE = i
i = AllIE.windows.Count - 1
End If
Next i
If PageIE = 6000 Then
Set IEnew = CreateObject("InternetExplorer.Application")
IEnew.Navigate "MONURL1"
LIENS = "MONURL1"
PageIE = AllIE.windows.Count - 1
End If
While AllIE.windows(PageIE).busy
DoEvents
Wend
Set IE = AllIE.windows(PageIE)
IE.Visible = True
Dim vUrl, vTargetFram, vPosteData, vHeaders, vFlags As String
vUrl = LIENS & "PATH DU SOUS LIENS"
vTargetFrame = "main"
Call IE.Navigate(vUrl, vFlags, vTargetFrame, vPostData, vHeaders)

----------------------------------------------

Comment je fais à cet endroit pour dire que ma boite de texte dans le frame main = "Blah"
Je semble pourvoir faire référence aux objets de cette facon
IE.Document.frames.main.Document.all(i)
i = 0à 9 pcq je sais qu'il y en a 10
Toutfois, dès que je veux faire une action, cela me cause des erreurs
Si je fais .focus ca me donne pas d'erreur.....mais réellement ca fait rien
Si je dit .MaForm.MonTextBox.Value ou plein d'autres chose, ca me donne toujours

Erreur d'execution 438
Propriété ou méthode non gérée par cet objet
--------------------
Par contre je sais que si jamais je load le frame directement dans une page entière, je suis capable de passer mes commandes

vUrl = "mon lien pour le frame"
Call IE.navigate(vUrl)
IE.Document.MaForm.MonTextBox.Value = "Abigael"
IE.Document.MaForm.MonTextBox2.Value = "Blah"
IE.Document.MaForm.MonBouton.disabled = False
IE.Document.MaForm.MonBouton.Click

Quelqu'un a une idée.........c'est vraiment pas évident, j'aimerais mieux le loader dans le frame.......

2 réponses

AngeliusMefyrx Messages postés 52 Date d'inscription lundi 20 mars 2006 Statut Membre Dernière intervention 14 octobre 2007
10 avril 2006 à 13:05
Merci

Finalement j'ai compris mon problème....

Il fallait que je fasse, IE.Document.Frames.NOM.Frames.NOM.Document.NOMduform.Nomdelaboite.Value = "patente"

Bref une affaire de fou qui m'a pris plusieurs heures à découvrir......
Comme je savais pas qu'il y avait un frame dans un frame.......le nombre de temps que j'ai pris pour le trouver......c'est incroyable....mais je l'ai trouvé!!!!
3
rvblog Messages postés 792 Date d'inscription vendredi 4 mars 2005 Statut Membre Dernière intervention 12 juin 2012 7
4 avril 2006 à 00:23
Salut AngeliusMefyrx,

jettes un oeil là si tu veux, elle écrit bien :

http://www.vbfrance.com/infomsg/SELECTIONNER-DANS-LISTE-DEROULANTE-SUR-WEB-PARTIR-VB-0_697496.aspx

à+


rvblogn<SUP>
</SUP><SUP>Je veux ton bien... et je l'aurais
</SUP>
0
Rejoignez-nous