将网页源代码下载到工作表

时间:2015-05-21 04:53:51

标签: excel vba excel-vba webpage

我正在尝试将yahoo.com的网页源代码下载到我的Excel工作表中。

我没有设法构建代码。我的代码(如下所述)是下载网页文字而非来源:

With ActiveSheet.QueryTables.Add(Connection:="URL;https://www.yahoo.com/?p=us" _
    , Destination:=Range("$A$1"))
    .Name = "?p=us"
    .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

1 个答案:

答案 0 :(得分:0)

使用Microsoft的XML功能

在VBA编辑器的工具/参考中激活 Microsoft XML,v3.0 (如果您在2010年及以上,则为6),然后按以下方式启动您的代码:

    Dim oXML As New MSXML2.XMLHTTP
    Dim xURL As String
    Dim uTxt As String

    xURL = "https://www.yahoo.com/?p=us"

    oXML.Open "GET", xURL, False
    oXML.setRequestHeader "Content-Type", "text/xml" 
    oXML.send

    uTxt = oXML.responseText

    Codesplit = Split(uTxt, Chr(13))

然后,您可以逐行将这些行写入工作表,或者更快地将拆分值提供给数组并一次性将其发送到工作表。

我用它来解析内存中的HTML并从网页下载我想要的数据。 HTH