Загрузка таблицы HTML в MS Access

Я пытаюсь импортировать таблицу из следующей ссылки в мою базу данных:
http://www.abif.cl/tasas.php?tipo=5

Я пытаюсь сделать это, загрузив страницу в виде HTML-файла в каталог через VBA, а затем создав связанную таблицу.

Это прекрасно работает, когда я загружаю его вручную через Chrome, используя опцию «Загрузить полную страницу» в разделе «Сохранить как».

Однако при загрузке веб-страницы с использованием VBA при попытке связать таблицу появляется сообщение об ошибке (-5016).

Пояснение: ошибка не возникает, когда я пытаюсь загрузить страницу в формате HTML; скорее это происходит после того, как я пытаюсь связать таблицу с загруженным HTML (не происходит, если HTML был загружен вручную через браузер)

Вот VBA, которую я использую для загрузки HTML:

Option Compare Database

Option Explicit

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

Public Function DownloadFile( _
ByVal strURL As String, _
ByVal strLocalFilename As String) _
As Long

Dim lngRetVal As Long

lngRetVal = URLDownloadToFile(0, strURL & vbNullChar, strLocalFilename & vbNullChar, 0, 0)

DownloadFile = lngRetVal

End Function

Пожалуйста, дайте мне знать, если есть какая-либо другая информация, которую я мог бы предоставить!
Возможно, есть способ загрузить «Полная веб-страница» в VBA?

Спасибо!

4

Решение

Я попытался загрузить HTML таким образом, и это сработало. Это ни в коем случае не элегантное решение, и я все еще открыт для любых предложений относительно того, почему я получаю свою ошибку / как ее исправить. Благодарю.

Public Function SaveHTML(strURL As String, strOutFile As String)

Dim IE As Object
Dim i As Long
Dim FF As Integer


Set IE = CreateObject("Internetexplorer.Application")
IE.Visible = False
IE.Navigate strURL
Do
Loop While IE.Busy

'Creates a file as specified
' this will overwrite an existing file if already exists
CreateObject("Scripting.FileSystemObject").CreateTextFile strOutFile

FF = FreeFile
Open strOutFile For Output As #FF

With IE.Document.Body
Print #FF, .OuterHtml & .InnerHtml
End With

Close #FF

IE.Quit
'Set IE = Nothing

End Function
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]