Autor Tema: Leer un archivo de texto de internet  (Leído 2880 veces)

Desconectado xavi

  • Administrador
  • Habitual
  • *****
  • Mensajes: 220
Leer un archivo de texto de internet
« en: Abril 13, 2012, 11:19:19 pm »
Palabras clave: API, leer, archivo, fichero, texto, URL, internet
Autor: ¿Búho?
Extraído de: La web del Búho

Objetivo:
Descargar el texto de un archivo de texto plano (*.txt) de internet.

Código: [Seleccionar]
Option Explicit
Private Declare Function InternetOpen 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
Private Declare Function InternetCloseHandle Lib "wininet" ( _
    ByVal hInet As Long) As Integer
Private Declare Function InternetReadFile Lib "wininet" ( _
    ByVal hFile As Long, ByVal sBuffer As String, _
    ByVal lNumBytesToRead As Long, lNumberOfBytesRead As Long) As Integer
Private Declare Function InternetOpenUrl 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


Function LeeUrlTexto(StrUrl As String) As String
Dim hOpen As Long, hFile As Long, sBuffer As String, Ret As Long
    sBuffer = Space(100000)
    hOpen = InternetOpen("", 1, vbNullString, vbNullString, 0)
    'Abre la Url
    hFile = InternetOpenUrl(hOpen, StrUrl, vbNullString, ByVal 0&,&H80000000, ByVal 0&)
    InternetReadFile hFile, sBuffer, 100000, Ret
    InternetCloseHandle hFile
    InternetCloseHandle hOpen
    'Muestra los resultados
    LeeUrlTexto = sBuffer
End Function

Sub prueba()
 MsgBox LeeUrlTexto("http://mvp-access.com/buho/ficheros/definitivo.txt")
End Sub
« Última modificación: Abril 13, 2012, 11:30:55 pm por xavi »