2012-01-25 112 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字符串,更新连接属性,刷新。

相关问题