VBA et récupération de page web

cs_balawoo Messages postés 3 Date d'inscription mardi 24 juin 2003 Statut Membre Dernière intervention 9 septembre 2005 - 8 sept. 2005 à 16:03
cs_balawoo Messages postés 3 Date d'inscription mardi 24 juin 2003 Statut Membre Dernière intervention 9 septembre 2005 - 9 sept. 2005 à 08:32
Bonjour,



Je voudrai effectuer sous VBA d'Excel la fonction suivante:

Je donne une URL à ouvrir, IE affiche la page, je récupère le code source dans un document texte.



L'un de vous peut-il m'aider



Philippe

1 réponse

cs_balawoo Messages postés 3 Date d'inscription mardi 24 juin 2003 Statut Membre Dernière intervention 9 septembre 2005
9 sept. 2005 à 08:32
Je complète mon message,



J'ai trouvé le code suivant :

Declare Function OuvreInternet Lib "wininet" _

Alias "InternetOpenA" (ByVal sAgent As String, ByVal lAccessType As Long, _

ByVal sProxyName As String, ByVal sProxyBypass As String, ByVal lFlags As Long) As Long

Declare Function fermeInternet Lib "wininet" _

Alias "InternetCloseHandle" (ByVal hInet As Long) As Integer

Declare Function code_page Lib "wininet" _

Alias "InternetReadFile" (ByVal hFile As Long, ByVal sBuffer As String, _

ByVal lNumBytesToRead As Long, lNumberOfBytesRead As Long) As Integer

Declare Function Ouvrepage Lib "wininet" _

Alias "InternetOpenUrlA" (ByVal hInternetSession As Long, ByVal lpszUrl As String, _

ByVal lpszHeaders As String, ByVal dwHeadersLength As Long, ByVal dwFlags As Long, _

ByVal dwContext As Long) As Long





Sub telecharge1()

Dim texte_code As String * 1024



fich = InputBox("adresse Internet du fichier à télécharger ?", _

"téléchargement HTTP",
"http://www.societe.com/cgi-bin/recherche?rncs=407997162&image.x=35&image.y=10")

cibl = InputBox("répertoire dans lequel le fichier doit être enregistré ?", _

"téléchargement HTTP", "c:")

If Right(cibl, 1) <> "" Then cibl = cibl & ""



'recherche nom du fichier

nom = "test"

'Do While InStr(nom, "/") > 0

'nom = Right(nom, Len(nom) - 1)

'Loop



'connection au fichier à télécharger

internet = OuvreInternet("toto", 1, vbNullString, vbNullString, 0) 'ouvre Internet

URL = Ouvrepage(internet, fich, vbNullString, _

ByVal 0&, &H80000000, ByVal 0&) 'accède au fichier

If URL <> 0 Then MsgBox ("fichier inaccessible"): Exit Sub



'création du fichier local

Set fs = CreateObject("Scripting.FileSystemObject")

Set fichcibl = fs.OpenTextFile(cibl & nom, 2, True)



'lecture du fichier par paquet de 1024 bytes

nb_caractères_lus = 1

Do While nb_caractères_lus > 0

code_page URL, texte_code, 1024, nb_caractères_lus

txt = Left(texte_code, nb_caractères_lus)

fichcibl.write txt

Loop



'ménage

fermeInternet URL 'ferme la page

fermeInternet internet 'ferme Internet

fichcibl.Close

Set fichcibl = Nothing

Set fs = Nothing



MsgBox "le fichier " & nom & " a été enregistré dans le répertoire " & cibl



End Sub



Le souci provient du fait que ce code récupère les fichiers sources
mais pas le code source de la page web. Ma question est donc:
existe-t-il une option dans les fonctions de la librairie qui
permettrait de récupèrer ce code source ? ou comment connaître les
fonctions et leur documentation d'une librairie ?



Merci



Philippe
0
Rejoignez-nous