2013-02-17 6 views
0

승 7에 웹에서 Excel 워크 시트로 데이터를 가져 오려고합니다.웹에서 Excel 2010 워크 시트로 데이터 가져 오기

그러나 표시된 부분은 어떻게 마무리해야 할 지 모르겠습니다.

Sub Ex2Macro() 

    Ex2 from Macro1 Macro 
    ' Macro changed 17/07/2007 by Dr. B. I. Czaczkes 
    Dim qt As QueryTable 
    Dim temp As Variant ' Double 
    Set qt = ActiveSheet.QueryTables.Add(Connection:= _ 
     "URL;http://finance.yahoo.com/q?s=GBPUSD=X", Destination:=ActiveCell.Range("A1")) 
    With qt 
    .Name = "query1" 
    .BackgroundQuery = False 
    .SaveData = True 
    .WebSelectionType = xlSpecifiedTables 
    .WebFormatting = xlWebFormattingNone 
    .WebTables = "14" 
    .WebPreFormattedTextToColumns = True 
    .WebConsecutiveDelimitersAsOne = True 
    .Refresh BackgroundQuery:=False 
    End With 
    With qt.ResultRange 
    .ClearContents 
    .Range("a1").Value = "USD/GBP" 
    .Range("b1").Value = ?  ' here, what I should put so that the queried result    
           ' is printed ? 
    End With 
End Sub 

교환 결과를 제공하는 다른 코드 조각.

Sub Ex3Macro() 
    Dim qt As QueryTable 
    ' Dim temp As Double 
    Dim temp As Variant 
    temp = ActiveCell.Value 
    Set qt = Worksheets("temp").QueryTables.Add(Connection:= _ 
    "URL;http://finance.yahoo.com/currency/convert?amt=" & _ 
    temp & _ 
    "&from=USD&to=GBP&submit=Convert" _ 
    , Destination:=Worksheets("Temp").Range("a1")) 
    With qt 
    .Name = "query2" 
    .BackgroundQuery = False 
    .SaveData = True 
    .WebSelectionType = xlSpecifiedTables 
    .WebFormatting = xlWebFormattingNone 
    .WebTables = "13" 
    .WebPreFormattedTextToColumns = True 
    .WebConsecutiveDelimitersAsOne = True 
    .Refresh BackgroundQuery:=False 
    End With 
    ActiveCell.Range("b1").Value = qt.ResultRange.Range("e3").Value 
End Sub 

그러나 결과는 인쇄되지 않습니다.

도움이 될 것입니다.

Sub HTTPTest() 

Dim httpRequest As WinHttpRequest 
Dim URL As String, strHTML As String 

If httpRequest Is Nothing Then 
    Set httpRequest = New WinHttp.WinHttpRequest 
End If 

URL = "http://finance.yahoo.com/q?s=GBPUSD=X" 

httpRequest.Open "GET", URL, True 
httpRequest.Send 
httpRequest.WaitForResponse 
strHTML = httpRequest.ResponseText 
Set httpRequest = Nothing 

'Parse strHTML now to get your value 

End Sub 
+1

는'Destination'가'ActiveSHEET.Range'하지'ActiveCell.Range'해야한다 : –

+0

QueryTables에서 전체 웹 페이지를 가져 오겠습니까? IE의 인스턴스를 생성 한 다음 HTML 요소를 구문 분석하여 환율을 포함하는 메서드를 찾는 다른 메서드를 사용합니다. –

+0

두 번째가 작동합니까? 나는 의심하지 않는다. – glh

답변

0

버전, 다음이를 사용하여 5.1 참조하여 Microsoft WinHTTP에 서비스를 선택하십시오. 즉, 내가 이것을 실행할 때 QueryTables의 결과는 Excel로 가져온 데이터가 없다는 것입니다. 너 뭐하려고?
관련 문제