2012-01-25 2 views
1

웹 사이트에서 정보를 Excel 스프레드 시트 (this format – not the actual website)에 다운로드 할 수 있기를 원합니다.VBA를 사용하여 Excel 스프레드 시트로 웹 페이지 가져 오기

위와 같이 특정 날짜와 회사에서 작동하는 매크로를 사용하여 웹 쿼리를 수행 할 수 있습니다. 그러나, 나는 - 입력문을 통해 - 웹 주소에서 날짜를 다운로드 할 수 있기를 원합니다. 관련 데이터를 다운로드하기 위해 사용자가 년, 월, 일 및 특정 회사를 입력하도록 매크로에 요청합니다.

시도가 작동하지 않아 위의 웹 사이트 주소로 & 회사를 입력하는 방법을 모르겠습니까?


이 정보가 도움이되기를 바랍니다. 그것은 날짜가 필요한 경마 양식 웹 사이트에서 가져 왔습니다!

이것은 코드를 작성하려고 시도했지만 버그가 있습니다!

RaceDate = InputBox("Please enter today's date (YYYY/MM/DD)", "Enter Date") 
Meeting = InputBox("Enter Location of Race", "Enter Meeting") 
Race = InputBox("Enter Race Number", "Enter Race") 
Range("A13").Select 
With ActiveSheet.QueryTables.Add(Connection:= "URL;http://tatts.com/racing/formguide.aspx? RaceDate & Meeting & Race" 
    , Destination:=Range("$A$13")) 
    .Name = "formguide.aspx? RaceDate & Meeting & Race" 
    .FieldNames = True 
    .RowNumbers = False 
    .FillAdjacentFormulas = False 
    .PreserveFormatting = True 
    .RefreshOnFileOpen = False 
    .BackgroundQuery = True 
    .RefreshStyle = xlInsertDeleteCells 
    .SavePassword = False 
    .SaveData = True 
    .AdjustColumnWidth = True 
    .RefreshPeriod = 0 
    .WebSelectionType = xlEntirePage 
    .WebFormatting = xlWebFormattingNone 
    .WebPreFormattedTextToColumns = True 
    .WebConsecutiveDelimitersAsOne = True 
    .WebSingleBlockTextImport = False 
    .WebDisableDateRecognition = False 
    .WebDisableRedirections = False 
    .Refresh BackgroundQuery:=False 
End With 

나는이 두 줄이 특정 날짜에 작동한다는 것을 알고 있지만 사용자 입력 날짜를 조정해야합니다.

"URL;http://tatts.com/racing/formguide.aspx?year=2012&month=1&day=20&meeting=QR&race=5" _ 
     , Destination:=Range("$A$13")) 
     .Name = "formguide.aspx?year=2012&month=1&day=20&meeting=QR&race=5" 
+0

귀하의 게시물을 매우 이해하기 어렵습니다. 코드 시도와 가능하면 작동 링크를 보여줄 수 있습니까? – Mikhail

+0

매우 효과적이지만 실제 사이트를 제공하면 훨씬 쉬울 것입니다. – brettdj

답변

0

웹 쿼리를 수동으로 만든 다음 사용자 입력에 따라 연결 속성을 변경하십시오. http://tatts.com/racing/2012/7/31/QR에서 웹 쿼리를 작성하고 A10에 넣었습니다. 그런 다음 나는 년, 월, 일을 B1 : B3에 넣었다. B3

Sub UpdateQuery() 

    Dim sURL As String 

    With Sheet1 
     sURL = "URL;http://tatts.com/racing/" & .Range("B1").Value & "/" & .Range("b2").Value & "/" & .Range("b3").Value & "/QR" 

     .QueryTables(1).Connection = sURL 
     .QueryTables(1).Refresh 

    End With 

End Sub 

그냥, 내가 원하는 URL에 대한 문자열을 기반으로 연결 속성을 업데이트하고 새로 고침 :이 코드는 B1에 무엇을 기반으로 웹 쿼리를 업데이트합니다.

관련 문제