Невозможно извлечь сумму из строки с помощью vba - PullRequest
0 голосов
/ 16 декабря 2018

У меня есть следующее

"PRICE
40,06 €"

, которое содержит, как я могу, из блокнота ++ пробелы и символы табуляции. Я использовал что-то вроде следующего, чтобы получить числоно ничего не происходит .. Я хочу получить сумму 40,06 €

Function ExtractAmount(data As String) As Variant
  Dim s As String
  s = Split(data, "PRICE")(5) 
  ExtractAmount = CCur(Val(s))
End Function

И я называю это

Set price = ie.Document.querySelector(".price")
wks.Cells(i, "E").Value = ExtractAmount(price.innerText)

Как я могу это сделать?спасибо

** Следующий URL

https://www.overshop.gr/index.php?route=product/product&product_id=101&search=wd10ezex

или около того имеет данный момент в результате ценовой фразы «Скидка 40,50 € от 50 €»который не получает сумму с одним селектором

1 Ответ

0 голосов
/ 16 декабря 2018

Вам нужен другой селектор класса

text = IE.document.querySelector(".price-val").innerText

VBA:

Option Explicit
Public Sub GetInfo()
    Dim IE As New InternetExplorer, text As String
    With IE
        .Visible = True
        .navigate2 "https://www.overshop.gr/index.php?route=product/product&product_id=10858"

        While .Busy Or .readyState < 4: DoEvents: Wend
        text = IE.document.querySelector(".price-val").innerText
        Debug.Print Trim$(text)
        .Quit
    End With
End Sub

Вы можете использовать синтаксис селектора Или css, если проверяете наличие другого класса, например, новую цену

Option Explicit
Public Sub GetInfo()
    Dim IE As New InternetExplorer, text As String
    With IE
        .Visible = True
        .navigate "https://www.overshop.gr/index.php?route=product/product&product_id=101&search=wd10ezex"

        While .Busy Or .readyState < 4: DoEvents: Wend
        text = IE.document.querySelector(".price-val, .price-new").innerText
        Debug.Print Trim(Trim$(text))
        .Quit
    End With
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...