Excel 从此url解析VBA中的HTML时出现问题

Excel 从此url解析VBA中的HTML时出现问题,excel,vba,request,Excel,Vba,Request,我想解析HTML并从该网站获取数据: 使用VBA A已具有此代码,但未按预期工作: site = "http://www2.bmf.com.br/pages/portal/bmfbovespa/boletim1/Ajustes1.asp?txtData22/12/2020" Dim html As New MSHTML.HTMLDocument, http As Object Set http = CreateObject("MSXML2.XMLHTTP"

我想解析HTML并从该网站获取数据:

使用VBA

A已具有此代码,但未按预期工作:

site = "http://www2.bmf.com.br/pages/portal/bmfbovespa/boletim1/Ajustes1.asp?txtData22/12/2020"
Dim html As New MSHTML.HTMLDocument, http As Object

Set http = CreateObject("MSXML2.XMLHTTP")
http.Open "GET", site, False
http.send
  
html.body.innerHTML = http.responseText

Set lines = html.getElementsByTagName("tr")
 

但是“line”和html.body.innerHTML都是空的。

我能够从使用Internet Explorer对象提供的页面检索数据:

Sub GetDataUsingIE()
    
    Dim URI As String
    URI = "http://www2.bmf.com.br/pages/portal/bmfbovespa/boletim1/Ajustes1.asp?txtData22/12/2020"
    
    Dim IE As Object
    Set IE = CreateObject("InternetExplorer.Application")
    
    With IE
        .Navigate URI
        .Visible = True
    End With
    
    Do While IE.Busy And IE.readyState <> 4: DoEvents: Loop
    
    Dim Lines As Object
    Set Lines = IE.Document.GetElementsByTagName("tr")
    
    'actions with Lines Object
    
    IE.Quit
    Set IE = Nothing

End Sub

附:有关如何使用Internet Explorer进行web抓取的更多信息,请参见以下链接:

此简单录制的宏将从完整数据集中读取到一个表中,以便您根据需要进行搜索和筛选:

亚宏观溴 ActiveWorkbook.Queries.Add Name:=Ajustes do Pregão,公式:=_ 让&Chr13&&Chr10&Kilde=Web.PageWeb.Contentshttp://www2.bmf.com.br/pages/portal/bmfbovespa/boletim1/Ajustes1.asp?txtData22/12/2020,&Chr13&&Chr10&Data0=Kilde{0}[Data],&Chr13&&Chr10&Hævede overskrifter=Table.PromoteHeadersData0[PromoteAllScalars=true],&Chr13&&Chr10&Ændret type=Table.TransformColumnTypesHævede overskrifter,{{Mercadoria,type text},{Vct,typ&_ e text},{Preço de Ajuste front,type number},{Preço de Ajuste Atual,type number},{Variaço,type number},{Valor do Ajuste por Contrato R$,type number}和Chr13和Chr10以及in和Chr13和Chr10和Ændret type ActiveWorkbook.Worksheets.Add 使用ActiveSheet.ListObjects.AddSourceType:=0,Source:=_ OLEDB;Provider=Microsoft.Mashup.OleDb.1;数据源=$Workbook$;地点=一个村庄;扩展属性=_ ,目标:=范围$A$1.QueryTable .CommandType=xlCmdSql .CommandText=ArraySELECT*自[Ajustes do Pregão] .rowNumber=False .FillAdjacentFormulas=False .PreserveFormatting=True .refreshinfoleopen=False .BackgroundQuery=True .RefreshStyle=xlInsertDeleteCells .SavePassword=False .SaveData=True .AdjustColumnWidth=True .RefreshPeriod=0 .PreserveColumnInfo=True .ListObject.DisplayName=Ajustes_do_Pregão .Refresh BackgroundQuery:=False 以 端接头 例如:


您是如何记录此操作的宏的?是否有网站或教程可供我参考?设置、调整功能区、在右侧标记开发人员,好的。然后菜单开发人员,录制宏。然后从菜单数据运行步骤,从Internet附加HTML页面。感谢您的解决方案。我在excel中使用InternetExplorer模块时通常会遇到兼容性问题,因为我在很多计算机上都使用它