2014-10-31 32 views
3

我在Excel工作表中有200行,我想在捲曲(或任何類型的HTTP獲取)中包含並在第二列中查看結果。在Excel單元格中捲曲URL和發佈結果?

**Column A** 
123 
456 
789 
012 
... 

我已經使用Excel選項以獲得來自外部的網頁數據嘗試,但它似乎並不爲多行的工作在同一張紙上。有沒有辦法讓我將列A中的值附加到靜態URL(即:http://testurl.net/page.php?ID=[Column A]),以便頁面結果顯示在B列中?我知道來自網址的回覆將是一個只顯示幾個字的休息回覆。

謝謝

回答

4

您可以通過使用一個HTTP請求對象做到這一點:

Dim oRequest As Object 
Set oRequest = CreateObject("WinHttp.WinHttpRequest.5.1") 
oRequest.Open "GET", "http://www.cboden.de" 
oRequest.Send 
MsgBox oRequest.ResponseText 

如果您是使用代理,你可以使用這樣的事情:

Const HTTPREQUEST_PROXYSETTING_PROXY = 2 
Dim oRequest As Object 
Set oRequest = CreateObject("WinHttp.WinHttpRequest.5.1") 
oRequest.setProxy HTTPREQUEST_PROXYSETTING_PROXY, "http://proxy.intern:8080" 
oRequest.Open "GET", "http://www.cboden.de" 
oRequest.Send 
MsgBox oRequest.ResponseText 

,如果你想使用POST(而不是GET方法)將一些值傳遞給Web服務器,你可以試試這個:

Dim oRequest As Object 
Set oRequest = CreateObject("WinHttp.WinHttpRequest.5.1") 
oRequest.Open "POST", "http://www.cboden.de/misc/posttest.php" 
oRequest.SetRequestHeader "Content-Typ", "application/x-www-form-urlencoded" 
oRequest.Send "var1=123&anothervar=test" 
MsgBox oRequest.ResponseText 

,如果你把它變成一個功能,那麼你可以使用它在你的工作表:

Function getCustomHyperlink(ByVal pURL As String) As String 
    Dim oRequest As Object 
    Set oRequest = CreateObject("WinHttp.WinHttpRequest.5.1") 
    oRequest.Open "GET", pURL 
    oRequest.Send 
    getCustomHyperlink = oRequest.ResponseText 
End Function 

工作表中,那麼你可以,例如說:

=getCustomHyperlink("https://www.google.com/search?q=" & A1) 

,如果你的搜索值是A1

+0

謝謝!無論如何要將列的值附加到該URL? – AAA 2014-10-31 19:29:27

+0

只需將代碼放入函數中,將URL作爲參數傳遞給它並返回所請求頁面的內容。您可以直接在工作表中使用該功能 – cboden 2014-10-31 19:41:48

+0

我想我跟着你,但這似乎並沒有工作:Function CustomHyperlink(Term) Dim oRequest As Object Set oRequest = CreateObject(「WinHttp.WinHttpRequest.5.1 「) oRequest.Open 「GET」, 「http://www.google.com」 和術語 oRequest.Send CustomHyperlink = oRequest.ResponseText 端功能 – AAA 2014-10-31 19:51:07