自动5 Firefox选项卡

时间:2014-02-10 10:34:27

标签: firefox excel-vba selenium vba excel

我希望自动化我们的报告。我们目前在Firefox中有5个用于报告的选项卡。每个标签都有一个独特的网址,每天早上都会更改。然后我们必须每天早上更新这些URL(来自excel speadsheet)。我想自动化这个。我确实对此有一些限制。我无法为每个新网址打开一个新标签(所以基本上它需要是每个标签中的网址替换)。我已经研究过硒但无法使其发挥作用

http://www.makeuseof.com/tag/using-vba-to-automate-internet-explorer-sessions-from-an-excel-spreadsheet/

http://www.makeuseof.com/tag/how-to-automate-firefox-or-chrome-with-vba-and-selenium/

所以我想知道是否可以采用另一种方式使用纯VBA或批处理文件?

1 个答案:

答案 0 :(得分:1)

您需要添加对Microsoft Internet ControlsMicrosoft Shell Controls and Automation的引用。见下面的截图。

enter image description here

<强>代码:

Sub Work_With_Open_IE_Instance()
    Dim objShell As Shell
    Dim objIE As InternetExplorer
    Dim objWin As Object

    Set objShell = New Shell

    For Each objWin In objShell.Windows
        If TypeName(objWin.Document) = "HTMLDocument" Then
            Set objIE = objWin

            '~~> This will display the URL of the IE which we will use to bind
            Debug.Print objIE.LocationURL

            '~~> Example to bind
            '~~> Change URL to your existing URL
            Select Case objIE.LocationURL
                Case "https://www.google.com"
                    With objIE
                        .Refresh
                        '
                        '~~> Rest of the code
                        '
                    End With
                Case "http://in.msn.com"
                    With objIE
                        .Refresh
                        '
                        '~~> Rest of the code
                        '
                    End With
                End Select
            End If
        End If
    Next objWin
End Sub

Select Case仅用于演示目的。如果您想一个接一个地使用它们,请不要使用Select Case。一个接一个地使用If/EndIf