No recuerdo muy bien pero creo que tenía que ver con el formato de código del archivo que tratas de leer. Si no me equivoco la página en html es UTF-8 y tratas de leerlo como ANSI. O puede que fuera al revés
El caso es que por ahí van los tiros. Tengo este código que quizás te sirva. Usa URLDownloadToFile, para guardar la página y luego Open yt For Input As , para crear un archivo TXT (TempFile.txt) en el formato correcto y leer la página web correctamente cargándola en la memoria, para luego ser introducida en un TextBox.
Como ves en la función DownloadFile guarda la página en C: ("C:/01.html"), si tu windows protege este directorio tendrás que elegir otro ¿ok?
Por cierto, DownloadFile sólo guarda la página principal, pero NO los archivos dependientes como imágenes o Scripts. Puedes usar WebBrowser en lugar de DownloadFile.
El caso es que por ahí van los tiros. Tengo este código que quizás te sirva. Usa URLDownloadToFile, para guardar la página y luego Open yt For Input As , para crear un archivo TXT (TempFile.txt) en el formato correcto y leer la página web correctamente cargándola en la memoria, para luego ser introducida en un TextBox.
Código (vb) [Seleccionar]
Private Declare Function DeleteUrlCacheEntry Lib "Wininet.dll" Alias "DeleteUrlCacheEntryA" (ByVal lpszUrlName As String) As Long
Private Declare Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFileA" (ByVal pCaller As Long, ByVal szURL As String, ByVal szFileName As String, ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long
Private Function DownloadFile(ByVal sURL As String, ByVal sLocalFile As String) As Boolean
DownloadFile = URLDownloadToFile(0, sURL, sLocalFile, 0, 0) = ERROR_SUCCESS
End Function
Public Function GetCodeWeb(ByVal strHtmlDir As String)
Dim sSourceUrl As String
Dim sLocalFile As String
Dim hfile As Long
Dim buff As String
Dim pos1 As Long
Dim pos2 As Long
sSourceUrl = strHtmlDir
sLocalFile = App.Path & "\TempFile.txt" 'Archivo temporal donde se guardará la página web
Call DeleteUrlCacheEntry(sSourceUrl)
If DownloadFile(sSourceUrl, sLocalFile) Then
hfile = FreeFile
Open sLocalFile For Input As #hfile
buff = Input$(LOF(hfile), hfile)
Close #hfile
If buff = "" Then
GetCodeWeb = "No se ha podido conseguir el código Html"
Else
GetCodeWeb = buff
End If
'Kill sLocalFile
Else
GetCodeWeb = "No se ha podido conseguir el código Html"
End If
End Function
Private Sub Command1_Click()
Call DownloadFile("http://www.marca.com/futbol.html", "C:/01.html") 'Descarga la web
Text1.Text = GetCodeWeb("E:/01.html") 'Obtiene el código Html
End Sub
Como ves en la función DownloadFile guarda la página en C: ("C:/01.html"), si tu windows protege este directorio tendrás que elegir otro ¿ok?
Por cierto, DownloadFile sólo guarda la página principal, pero NO los archivos dependientes como imágenes o Scripts. Puedes usar WebBrowser en lugar de DownloadFile.