Excel VBA Web价格数据捕获

时间:2016-08-02 15:22:39

标签: excel vba excel-vba

这是我的项目: 1.我有一个电子表格,其中包含特定列中的部件/型号 2.我希望对每个部件号和“价格”一词执行Google搜索 3.从最初的Google搜索结果中,我想对美国货币价格执行正则表达式搜索,并使用每个部件号的返回价格的平均值填充单独的列,并排除所有其他html。 html定价数据不一定在表格中。

我对Excel非常熟悉,对VBA有一定的了解。我已经能够编写上述项目的大部分内容,但是我在从网页中提取正则表达式匹配时遇到了一些困难。任何建议将不胜感激。

1 个答案:

答案 0 :(得分:0)

请参阅以下内容:

Sub Test()

    Dim IE As Object
    Dim reg As New RegExp
    reg.Pattern = "\$\d+.?\d?\d?"

    Sheets("Sheet3").Select
    Range("A1:A1000") = "" ' erase previous data
    Range("A1").Select

    Set IE = CreateObject("InternetExplorer.Application")

    IE.Visible = True
    'IE.Navigate "https://www.google.com/" ' should work for any URL
    IE.Navigate "https://www.google.com/?_rd=ssl#q=" & "DNR-12-1-G Price"
    Do While IE.Busy = True Or IE.readyState <> 4: DoEvents: Loop
    'IE.Document.getElementById("lst-ib").Value = "DNR-12 Price"

    'Do While IE.Busy = True Or IE.readyState <> 4: DoEvents: Loop

    'SendKeys ("{ENTER}")   

    IE.ExecWB 17, 0 '// SelectAll
    IE.ExecWB 12, 2 '// Copy selection
    ActiveSheet.PasteSpecial Format:="Text", link:=False, DisplayAsIcon:=False
    Range("A1").Select
    Selection.SpecialCells(xlCellTypeBlanks).Select
    Selection.Delete Shift:=xlUp
    'MsgBox (Continue)
    IE.Quit

End Sub