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.
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