2012-01-25 110 views
1

我希望能夠將網站信息下載到Excel電子表格中,該電子表格位於this format – not the actual website使用VBA將網頁導入Excel電子表格

我可以用一個宏來進行網絡查詢,這個宏可以用於上述的特定日期和公司。但是,我希望能夠通過輸入語句在Web地址中下載任何日期。我希望宏提示用戶輸入年,月和日以及特定公司,以便下載相關數據。

我不知道如何編寫任何日期&公司的代碼到上面的網站地址,因爲我的嘗試不工作!


希望這會有所幫助。它來自需要約會的賽馬形式網站!

這是我的代碼嘗試放置日期,但它有錯誤!

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

手動創建Web查詢,然後根據用戶輸入更改Connection屬性。我從http://tatts.com/racing/2012/7/31/QR創建了一個網絡查詢並將其放入A10。然後我把年,月,日放在B1:B3中。此代碼更新基於什麼是B1網站查詢: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字符串,更新連接屬性,刷新。

相關問題