Normalmente, o .responseText
é analisado como um documento HTML
, mas também pode ser manipulado com funções de string. Você parecia confortável com Mid
, Instr
, etc, então eu permaneci nesse caminho. Isso não inicia uma nova planilha; simplesmente escreve no atual, então comece com uma nova planilha em branco antes de executar a macro.
Sub Retrieveprice() ' in the references section, enable 1) Microsoft Internet Controls, and 2) Microsoft HTML Object Library
Dim x As Long, y As Long, steamUrl As String, steamTxt As String, spanTxt As String, spanEndTxt As String
steamUrl = "http://steamcommunity.com/market/listings/440/Genuine%20Ap-Sap"
With CreateObject("msxml2.xmlhttp")
.Open "GET", steamUrl, False
.send
steamTxt = .responsetext
End With
spanTxt = "<span class=""market_listing_price market_listing_price_with_fee"">"
spanEndTxt = "</span>"
x = InStr(1, steamTxt, spanTxt)
With ActiveSheet
Do While CBool(x)
y = InStr(x, steamTxt, spanEndTxt)
.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0) = _
Application.Trim(Replace(Mid(steamTxt, x, (y - x) + Len(spanEndTxt)), Chr(10), vbNullString))
x = InStr(y, steamTxt, spanTxt)
Loop
End With
End Sub
Você pode esperar resultados semelhantes aos seguintes.
Isso é o máximo que posso com as informações que você forneceu, mas isso deve dar um empurrãozinho na direção certa.