Bonjour a tous
une question sur un sujet ayant été posé récemment m'a interpelé alors , j'ai pensé qu'il fallait en faire une fonction
en effet la fonction getobject permettant de comuniquer entre application a des avantages indéniables
un seul bemole elle n'existe pas pour Internet explorer
je sujet ayant été résolu je vous livre cette petite fonction pour palier a ce manque
fonction:
comme vous le voyez ca n'est pas très compliqué
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Function Getobjects(url) As Object Dim objShell As Shell,obj As Object Set objShell = New Shell For Each obj In objShell.Windows If TypeName(obj.document) = "HTMLDocument" Then If obj.LocationURL = url Then Set Getobjects = obj End If Next obj End Function
Testons cette petite fonction
nous allons la tester sur le forum vba exel (a condition bien évidement que cette fenêtre soit ouverte bien entendu, le principe du getobject étant justement d'aller chercher une app déjà ouverte )
Nous allons afficher dans un msgbox le titre de la dernière question qui a été posé sur le forum
et voila si vous regardez la ligne du msgbox vous verrez que j'utilise les fonctions de la librairie IE de la même manière que si j'avais créé l'élément IE ,pour ce genre d'opération le tutoriel de qwazerty vous indiquera comment récupérer des données et interagir avec IE
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Sub test_du_getobject() Dim ie As Object, url As String url = "http://www.developpez.net/forums/f664/logiciels/microsoft-office/excel/macros-vba-excel/" Set ie = Getobjects(url) MsgBox ie.document.getElementsByClassName("threads")(0).Children(0).innerText End Sub
bonne utilisation
Partager