2017-06-01 128 views
1

當我運行此代碼時,我得到一個運行時錯誤,說'與服務器的連接無法建立'這是我的設置在Excel中的問題?或者可能是我的電腦上的安全功能有問題?當我在我的瀏覽器中輸入網址時,它可以工作。我想讓csv下載並在msgbox中彈出。一旦我可以做到這一點,我會嘗試將csv信息放入我的電子表格中,但我甚至無法獲取要下載的信息。另外,當我調試時,這個問題似乎與'http.send'一行。 注意到,類似的問題被提出,但我試圖用這些答覆,其中沒有一個固定的礦山,所以我想我需要一個新的修補無法連接服務器「http.send」問題

Sub stocks() 


Dim W As Worksheet: Set W = ActiveSheet 

Dim Last As Integer: Last = W.Range("a1000").End(xlUp).Row 

If Last = 1 Then Exit Sub 
Dim Symbols As String 
Dim i As Integer 

For i = 2 To Last 
    Symbols = Symbols & W.Range("A" & i).Value & "+" 


Next i 

Symbols = Left(Symbols, Len(Symbols) - 1) 


Dim URL As String: URL = "http://download.finance.yahoo.com/d/quotes.csv?s=" & Symbols & "&f=snl1hg" 

Dim http As New WinHttpRequest 
http.Open "Get", URL, False 
http.Send 

MsgBox http.ResponseText 



End Sub 
+0

什麼響應代碼? –

+0

運行時錯誤'-2147012867(80072efd)':無法建立與服務器的連接@MacroMan –

+0

我的意思是服務器響應代碼 - 您可以使用XMLHTTP代替 –

回答

0

使用XMLHTTP來代替:

Dim http As Object 
Set http = CreateObject("Microsoft.XMLHTTP") 
http.Open "Get", URL, False 
http.Send 
+0

Woo Hoo!這工作!非常感謝 –

+0

我如何標記答案? @macro男子 –