2017-06-01 142 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男子 –