批量打开网址

时间:2019-05-08 10:08:18

标签: excel vba url web-scraping automation

我有一个工作表,其中包含第J列(从第3行开始)中的网站列表。我想拥有一个宏,其中它将在同一浏览器窗口中的不同选项卡中批量打开所有网站。 我下面有现有的代码。

Sub Test()
    Dim ie          As Object
    Dim c           As Range

    Set ie = CreateObject("InternetExplorer.Application")

    With ie
        .Visible = True

        For Each c In Sheets("Common").Range("J3:J" & Cells(Rows.Count, 1).End(xlUp).Row)
            .Navigate c.Value, CLng(2048)
        Next c
    End With
End Sub

在大多数情况下都有效。但是以某种方式,它将在浏览器窗口中打开没有标签的标签。

1 个答案:

答案 0 :(得分:1)

您应该在前面指定工作表的名称,因为您隐式地在容易出错的活动工作表上工作。例如。

ThisWorkbook.Worksheets("Sheet1").Cells(Rows.Count, 1).End(xlUp).Row 

通过调试,您似乎发现xlUp的行不正确,因此请使用xlDown(前提是您知道url之间没有空单元格)

Sheets("Common").Range("J3:J" & Sheets("Common").Cells(Rows.Count, 1).End(xlDown).Row)

如果要使用Chrome,请考虑使用installing selenium basic。确保最新的ChromeDriver.exe在selenium文件夹中,并已添加VBE>“工具”>“参考”>“ Selenium类型库”参考。