Controls Onglets IE7

julien_guy Messages postés 9 Date d'inscription mardi 23 novembre 2004 Statut Membre Dernière intervention 3 octobre 2007 - 28 sept. 2007 à 22:12
 Utilisateur anonyme - 3 oct. 2007 à 20:50
Bonjour,

Je cherche désespérément un control me permettant de controler les onglets d'IE7 en VB6. Je ne trouve rien su tout sur le net !
Si vous avez des pistes à me donner, merci d'avance !

7 réponses

Utilisateur anonyme
3 oct. 2007 à 20:50
Ok, voilà pour l'instant la premiere partie :
Option Explicit

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" ( _
  ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" ( _
  ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, _
  ByVal lpsz2 As String) As Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" ( _
  ByVal hwnd As Long, ByVal wMsg As Long, wParam As Any, lParam As Any) As Long

Private Const WM_GETTEXT = &HD
Private Const WM_GETTEXTLENGTH = &HE

Dim IEHwnd As Long

Private Sub Form_Load()
  IEHwnd = FindWindow("IEFrame", vbNullString)
  MsgBox GetActiveURL
End Sub

Private Function GetActiveURL() As String
  If IEHwnd <> &H0 Then
    Dim WorkerWHWnd As Long, ReBarWindow32HWnd As Long, _
      AddressBandRootHWnd As Long, ComboBoxEx32HWnd As Long, ComboBoxHWnd As Long, _
      EditHWnd As Long
    WorkerWHWnd = FindWindowEx(IEHwnd, &H0, "WorkerW", vbNullString)
    ReBarWindow32HWnd = FindWindowEx(WorkerWHWnd, &H0, "ReBarWindow32", _
      vbNullString)
    AddressBandRootHWnd = FindWindowEx(ReBarWindow32HWnd, &H0, _
      "Address Band Root", vbNullString)
    ComboBoxEx32HWnd = FindWindowEx(AddressBandRootHWnd, &H0, "ComboBoxEx32", _
      vbNullString)
    ComboBoxHWnd = FindWindowEx(ComboBoxEx32HWnd, &H0, "ComboBox", vbNullString)
    EditHWnd = FindWindowEx(ComboBoxHWnd, &H0, "Edit", vbNullString)

    Dim TextEx As String
    Dim l As Long
    l = SendMessage(EditHWnd, WM_GETTEXTLENGTH, ByVal 0&, ByVal 0&)
    TextEx = String$(l + 1, vbNullChar)
    Call SendMessage(EditHWnd, WM_GETTEXT, ByVal Len(TextEx), _
      ByVal StrPtr(TextEx))
    TextEx = StrConv(TextEx, vbUnicode, 1033)
    TextEx = Left$(TextEx, l)

    GetActiveURL = TextEx
  Else
    GetActiveURL = vbNullString
  End If
End Function, ----
(Coloration syntaxique automatique par Kenji)

__________
Kenji
(
Nouveau forum VBA/Office
1
Utilisateur anonyme
28 sept. 2007 à 22:21
Salut,

C'est à dire contrôler les onglets ?
Savoir quels pages sont ouvertes ? Changer l'onglet actif ?

__________
Kenji
(
Nouveau forum VBA/Office
0
julien_guy Messages postés 9 Date d'inscription mardi 23 novembre 2004 Statut Membre Dernière intervention 3 octobre 2007
29 sept. 2007 à 12:10
Oui effectivement je n'ai pas été assez précis. Désolé.

Je souhaitent ouvrir des pages dans de nouveaux onglets et pouvoir naviguer entre ceux-ci.
De plus je doit récupérer des info sur le code source de chaque pages ouvertes.
J'ai aussi de lancer certain lien des pages ouvertes.

Je le fai déjà pour un seul onglet mais je n'ai rien trouvé pour travailler sur plusieurs onglet.

J'éspère être assez précis cette fois.

merci
0
Utilisateur anonyme
29 sept. 2007 à 13:58
Bon, voila ce qui peut être réalisable (ce que je pense) :
Récupéré les onglets ouverts (titre des pages)
Déterminer quel page est active
Récupéré l'url de l'onglet actif (titre)

Pour l'instant, c'est tout ce que je pense pouvoir faire.

__________
Kenji
(
Nouveau forum VBA/Office
0

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

Posez votre question
julien_guy Messages postés 9 Date d'inscription mardi 23 novembre 2004 Statut Membre Dernière intervention 3 octobre 2007
3 oct. 2007 à 17:54
Merci de me dire ce qui est réalisable, mais aurais-tu un bout de code permetant de travailler sur les onglets, je cherche depuis plus d'un mois et j'ai aucune piste

merci

A+
0
Utilisateur anonyme
3 oct. 2007 à 18:49
Quelle partie de ce que j'ai énoncé plus haut t'intéresse ? (sachant que je peux réaliser que ces parties)

__________
Kenji
(
Nouveau forum VBA/Office
0
julien_guy Messages postés 9 Date d'inscription mardi 23 novembre 2004 Statut Membre Dernière intervention 3 octobre 2007
3 oct. 2007 à 19:21
En fait les trois m'intéresse, mais par ordre de priorité, j'ai surtout besoin de récupérer l'url de l'onglet actif.

priorité :
1) Récupéré l'url de l'onglet actif (titre)
2) Déterminer quel page est active
3) Récupéré les onglets ouverts (titre des pages)

Pour info je réalise actuellement un développement pour participer a des concours sur internet. Notament ceux recensé sur le site toutgagner.com. J'ai donc besoin d'ouvrir les pages de tous les concours dans tous les onglets et de pouvoir remplir les champs réponses.

julien
0
Rejoignez-nous