下载HTML表格到MS Access


Downloading HTML Table into MS Access

我试图从以下链接导入表到我的数据库:http://www.abif.cl/tasas.php?tipo=5

我试图通过VBA将页面作为HTML文件下载到目录中,然后创建一个链接表。

当我通过Chrome手动下载它时,使用"另存为"下的"下载完整网页"选项,这工作得很好。

然而,当我使用VBA下载网页时,当我试图链接表时,我得到保留错误(-5016)。

澄清:当我尝试以HTML下载页面时,错误不会发生;相反,它发生在我尝试将表链接到下载的HTML之后(如果HTML是通过浏览器手动下载的,则不会发生)

这是我用来下载HTML的VBA:

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中的"完整网页"?

谢谢!

我试着以这种方式下载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