如何使用Excel VBA循环浏览网站列表?

时间:2014-07-30 17:40:49

标签: excel vba excel-vba web-scraping

我已经构建了一个Excel宏,它从我网站上的表中提取数据,但我想从中提取网站的许多其他部分。我已经在列A中放置了URL列表,并希望宏继续沿着列表下拉并从相同的表中拉出,基本上从我的现有宏中提取数据,但在每个下一个单元格中使用链接环。 最终结果有望成为一张长表,其中包含链接到A列的所有页面的数据。任何有VBA知识的人都可以帮忙吗?

到目前为止这是宏。它只是从我网站上的特定表中提取。但是我不知道如何添加在URL列表中的循环函数。

Sub Macro1()
'
' Macro1 Macro
'

'

    With ActiveSheet.QueryTables.add(Connection:= _
        "URL;https://mywebsite.com/", Destination:= _
        Range("$B$1"))
        .Name = "clients"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .WebSelectionType = xlSpecifiedTables
        .WebFormatting = xlWebFormattingNone
        .WebTables = "8"
        .WebPreFormattedTextToColumns = True
        .WebConsecutiveDelimitersAsOne = True
        .WebSingleBlockTextImport = False
        .WebDisableDateRecognition = False
        .WebDisableRedirections = False
        .Refresh BackgroundQuery:=False
    End With
 End Sub

1 个答案:

答案 0 :(得分:0)

  1. 将范围分配给集合listOfURLs =范围(" A2:A15") 或
  2. 遍历循环中的行单元格(行,1)和行=行+ 1
  3. 使用数组或集合会更好,因为它会更快地执行