【发布时间】:2015-08-19 21:34:32
【问题描述】:
我创建了一个 VBA 脚本,通过获取 HTML 类中的值来从网站中提取价格。
请参阅VBA Script pull data from website 了解更多信息。
这确实很好用,但是在某些情况下只有 1 个价格(没有 RRP 和销售价格),因此我需要以某种方式合并一个 if 语句来查找类名,如果不存在,请查看另一个。
例如,我有以下电子表格:
| A | B | C |
| | Item | Price |
| | bfd/garden-structures/arbours/arbours-sunflower | |
| | bfd/garden-structures/arbours/tatton-corner-arbour-seat | |
| | bsd/garden-storage/wooden-storage/4-x-2-windsor-garden-storage-chest | |
在此示例中,前 2 个使用以下代码:(查看 int 类 VariantPrice 和 NowValue)但是第 3 个示例不起作用,因为类 VariantPrice 和 NowValue 不存在,但是它确实有 price 和 SinglePrice 类。
我使用的代码如下:
Sub BuyDeckingDirect()
Dim ie As New InternetExplorer
Dim doc As HTMLDocument
Dim result As IHTMLElement
Dim result2 As IHTMLElement
Dim item As String
Dim lRow As Long
'ie.Visible = True'
lRow = 2
item = Worksheets("BuyDeckingDirect").Range("B" & lRow).Value
MsgBox "Price Dump Started"
Do Until item = ""
ie.navigate "http://www.buydeckingdirect.co.uk/" & item
Do
DoEvents
Loop Until ie.readyState = READYSTATE_COMPLETE
Set doc = ie.document
Set result = doc.querySelector(".VariantPrice")
Set result2 = result.querySelector(".NowValue")
Worksheets("BuyDeckingDirect").Range("C" & lRow).Value = result2.innerText
lRow = lRow + 1
item = Worksheets("BuyDeckingDirect").Range("B" & lRow).Value
Loop
MsgBox "BuyDeckingDirect Price Dump Complete"
End Sub
任何帮助将不胜感激!
谢谢
杰斯
【问题讨论】:
标签: html vba excel if-statement