Я новичок в VBA. Моя цель здесь состоит в том, чтобы создать функцию, которая будет показывать самую низкую цену за паровой элемент, учитывая URL.
Вот код, который я до сих пор составлял. Тем не менее, кажется, что есть проблема с синтаксической ошибкой.
Пример URL-адреса:http://steamcommunity.com/market/listings/440/Genuine%20Ap-Sap
Я хочу получить самую низкую цену на странице, которая будет отображаться в ячейке. HTML-код страницы выглядит следующим образом. Я хочу получить самую низкую цену, в настоящее время она составляет 9,89. Я хочу, чтобы он показал рыночную цену с учетом комиссии.
<span class="market_listing_price market_listing_price_with_fee">
S$9.89 </span>
<span class="market_listing_price market_listing_price_without_fee">
S$8.60 </span>
Мой код VBA следует (есть некоторая ошибка синтаксиса)
Sub Retrieveprice() ' in the references section, enable 1) Microsoft Internet Controls, and 2) Microsoft HTML Object Library
Dim x As Long, y As Long Dim htmlText As Object
Set htmlText = CreateObject("htmlFile")
With CreateObject("msxml2.xmlhttp")
.Open "GET", steamurl, False ' save the URL in name manager as steamurl
' an example URL would be http://steamcommunity.com/market/listings/440/Genuine%20Ap-Sap
.send
htmlText.body.innerHTML = .responsetext End With
lStartPos = InStr(1, .responsetext, "<span class=CHR(34)market_listing_price market_listing_price_with_feeCHR(34)"> ")
lEndPos = lStartPos + 12 'haven't counted the exact number yet, want to retrieve price
TextIWant = Mid$(.responsetext, lStartPos, lEndPos - lStartPos)
Workbook.Worksheets.Add
ActiveSheet.Range("A1").Value = TextIWant
End Sub
В конце концов, если я смогу разобраться с этим, я хочу превратить его в функцию, чтобы у меня была ячейка с именем = Retrieveprice(URL), и она возвращала наименьшую цену элемента steam в URL.
Может кто-нибудь сказать мне, как исправить этот код и превратить его в функцию? Был бы очень признателен.