问题是在该页面中选择两个下拉列表后,从内部网页中提取表格到 Excel 工作表。我更喜欢使用 querytable.add 方法来保持表格格式而不是提取每个单元格数据然后填充它们。我可以使用 VBA 选择该页面中每个下拉列表的每个项目,从而更新表数据:
set browser = createobject("InternetExplorer.Application")
browser.visible=true
browser.navigate URL
Do Until browser.readystate = 4:doevents:loop
set HTMLDoc = browser.document
set yeardropdown = HTMLdoc.getelementbyid("dropdownlist-year")
yeardropdown.value = range("E4")
yeardropdown.fireevent "onchange"
set monthdropdown = HTMLdoc.getelementbyid("dropdownlist-month")
monthdropdown.value = range("E5")
monthdropdown.fireevent "onchange"
application.wait(now+timeserial(0,0,1))
然后再次设置 HTMLdocument 来保存新的表格数据。
此行是必要的,以避免连接到预设表数据
set HTMLDoc = browser.document
现在这里的问题是从这个 HTMLDoc 中提取查询表。有没有办法做这样的事情?:
set Table1= activesheet.querytables.add(connection:=HTMLDoc,Destination:=range("A2"))