将网站数据提取到Excel中

时间:2015-05-31 17:56:19

标签: excel vba excel-vba

Fetch Website data into Excel的最新答案是:

   Sub FetchData()
    With ActiveSheet.QueryTables.Add(Connection:= _
        "URL;http://www.zillow.com/homes/comps/67083361_zpid", Destination:=Range( _
        "$A$1"))
        .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
End Sub

它对我的项目也很有效,除了我感兴趣的URL是:

URL;http://reservations.example.com/cp/reports/daily_usage.php?type=date_reservations&date=06%2F03%2F2015&date_end=&vessel=&club=6&location=135", Destination:=Range( _
        "$A$1"))

出于隐私原因,我上面使用了虚假网址,但正如您所看到的,网址中包含日期代码。在这种情况下,它是由06%2F03%2F2015指定的2015年6月3日。

使用VBA,如何在URL中将日期变为工作表中定义的变量?

1 个答案:

答案 0 :(得分:2)

最有可能使用Format()函数。一个疯狂的猜测是

Format(Range("$A$1").Value2, "mm""%2F""dd""%2F""yyyy")

您也可以使用Day()Month()Year()函数自我重建,有些人可以使用IIf(Len(x)=2,x,0&x)。 我的样本为 2014-06-03 提供了“06%2F03%2F2014”。