2013-04-07 39 views
1

對我來說很容易,因爲我是新手。我創建了幾個宏,可以從中提取搜索結果:全文搜索:http://searchwww.sec.gov/EDGARFSClient/jsp/EDGAR_MainAccess.jsp動態網頁查詢

既然我的數據已全部清理完畢並設置在不同的列中,我需要根據結果創建一個查詢。在B欄中,我有一個公司名稱列表,我想引用「B」列中的每個單元格,並在http://www.marketwatch.com/tools/quotes/lookup.asp?siteID=mktw&Lookup=options+media&Country=us&Type=All處查詢市場觀察,查看與公司名稱相關的股票代碼。這將幫助我,因爲最終我會想要執行多個查詢,以獲取有關共享結構,收入等信息。任何時候回答這個問題我都會非常感激。

+0

當然你可以修改你的第一個宏來執行請求,你只需要循環第一個結果。編輯您的文章以包含您的宏,也許我們可以進一步幫助。 – NickSlash 2013-04-07 23:40:04

回答

3

請嘗試以下代碼。

Sub website() 

    Dim doc As HTMLDocument 
    Dim htmTable As HTMLTable 

    Set doc = New HTMLDocument 
    With CreateObject("MSXML2.XMLHTTP") 
     .Open "GET", "http://www.marketwatch.com/investing/stock/BAC" 
     .send 
     Do: DoEvents: Loop Until .readyState = 4 
     doc.body.innerHTML = .responseText 
     .abort 
    End With 

    Set htmTable = doc.getElementsByClassName("companyname")(0) 

    If Not htmTable Is Nothing Then 
     MsgBox htmTable.innerText 
    End If 

    Set htmTable = doc.getElementsByClassName("lastprice")(0) 

    If Not htmTable Is Nothing Then 
     MsgBox htmTable.innerText 
    End If 
End Sub 
+0

謝謝Santosh,我知道我會爲此問題感到無聊,但我該如何設置url參數呢?我瞭解了一些?=格式,但那個網址我不太確定。我現在得到的結果當然是美洲銀行 – 2013-04-08 01:10:35

+0

沒關係我想通了,如果任何人有同樣的問題,我用網址:http://www.marketwatch.com/tools/quotes/lookup.asp ?lookup =再次感謝,我將不得不調整它以適應我的需求,但這絕對是我尋找的東西 – 2013-04-08 01:23:56

+0

@RolandSmith如果您發現答案有幫助,您可以投票嗎? – Santosh 2013-05-24 09:21:45