0

我的目的是将 *.html 文档链接到 MS Access 数据库并将其导出到 *.XLS 文件。问题是我的 *.html 文件包含 50 多个类似的表。

在此处输入图像描述

如果我使用“链接 HTML 向导”,它看起来像

在此处输入图像描述

在这里,我可以从要链接的 html 文档中选择特定的表。但是每次我有不同的 html 文件,表的数量从 50 到 100 不同。表的结构是相同的。而且我不确定最好的方法是手动将 100 个表链接到数据库。此外,我可以在“链接表管理器”中查看链接表的路径: 在此处输入图像描述

我编写了一些 VBA 代码来将每个表连接到数据库:

Set MyDB = CurrentDb()
i = 0
For i = 1 To 100

Set MyTable = MyDB.TableDefs("ZVPL")

MyTable.Connect = ";Database=" & MYc_Path_HTML & "\" & "ZVPL.htm" & "\" & "Report output" & i
MyTable.RefreshLink
Call ExportToXLS("ZVPL") 'function that allows to export my table to XLS
i = i+1
Next

但它不起作用。错误是“找不到文件 ...\Report output1”。我也检查过,路径是正确的。从 *.html 文档中提取所有表格的最佳方法是什么?

4

1 回答 1

0

通过添加连接字符串来解决问题,例如:

Set MyDB = CurrentDb()

i = 0
For i = 1 To 100
  Set MyTable = MyDB.CreateTableDef("ZVPL")
  MyTable.SourceTableName = "Report output" & i
  MyTable.Connect = "HTML Import;DSN=ZVPL Link Specification1;HDR=NO;IMEX=3;CharacterSet=65001;Database=" & MYc_Path_ZVPLHTM & "ZVPL.htm"
  MyDB.TableDefs.Append MyTable
  MyDB.TableDefs.Refresh
  Call ExportToXLS("ZVPL") 'Export to Excel
  DoCmd.SetWarnings False
  MyDB.Execute "DROP TABLE " & "ZVPL"
  DoCmd.SetWarnings True
Next
于 2013-05-29T12:36:35.100 回答