我的目的是将* .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
但它不起作用。错误是“找不到文件... \报告输出1”。我也检查过,路径是正确的。 从* .html文档中提取所有表的最佳方法是什么?
答案 0 :(得分: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