2016-08-02 9 views
1

ここは私のプロジェクトです 1.特定の列に部品番号を含むスプレッドシートを持っています 2.各部品番号と "price" 3.最初のGoogle検索結果から、米国通貨価格のRegex検索を実行し、各部品番号の返品価格の平均を別の列に入力し、他のすべてのhtmlを除外します。 HTMLの価格設定データは必ずしも表にあるわけではありません。Excel VBA Web価格データキャプチャ

私はExcelにかなり精通しており、VBAに精通しています。私は上記のプロジェクトのほとんどをコーディングすることができましたが、Webページから正規表現のマッチを抽出するのが難しいです。任意の提案をいただければ幸いです。

+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