Откройте Google Chrome из VBA/Excel

Я пытаюсь открыть браузер Chrome из VBA. Я понимаю, что Chrome не поддерживает настройки ActiveX, поэтому мне интересно, есть ли какие-нибудь обходные пути?

Dim ie As Object 
Set ie = CreateObject("ChromeTab.ChromeFrame")
ie.Navigate "google.ca" 
ie.Visible = True

6 ответов

Решение
shell("C:\Users\USERNAME\AppData\Local\Google\Chrome\Application\Chrome.exe -url http:google.ca")

Здесь тоже работали:

Sub test544()

  Dim chromePath As String

  chromePath = """C:\Program Files\Google\Chrome\Application\chrome.exe"""

  Shell (chromePath & " -url http:google.ca")

End Sub

Я нашел более простой способ сделать это, и он отлично работает, даже если вы не знаете, где находится хром.

Прежде всего, вы должны вставить этот код в верхнюю часть модуля.

Option Explicit
Private pWebAddress As String
Public Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
(ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, _
ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

После этого вам нужно создать эти два модуля:

Sub LoadExplorer()
    LoadFile "Chrome.exe" ' Here you are executing the chrome. exe
End Sub

Sub LoadFile(FileName As String)
    ShellExecute 0, "Open", FileName, "http://test.123", "", 1 ' You can change the URL.
End Sub

Благодаря этому вы сможете (если хотите) установить переменную для URL-адреса или просто оставить ее как жесткий код.

Ps: Он отлично работает для других браузеров, просто меняя "Chrome.exe" на opera, bing и т. Д.

Вы можете использовать следующий код VBA и ввести их в стандартный модуль в Excel. Список веб-сайтов может быть введен и должен быть введен таким образом в ячейку A1 в Excel - www.stackru.com

ActiveSheet.Cells (1,2). Значение просто берет количество ссылок на веб-сайты, которые у вас есть на ячейку B1 в Excel, и будет повторять код снова и снова на основе количества ссылок на веб-сайты, которые вы поместили на лист. Поэтому Chrome откроет новую вкладку для каждой ссылки на веб-сайт.

Я надеюсь, что это поможет с динамическим сайтом, который вы получили.

Sub multiplechrome()

    Dim WebUrl As String
    Dim i As Integer

    For i = 1 To ActiveSheet.Cells(1, 2).Value
        WebUrl = "http://" & Cells(i, 1).Value & """"
        Shell ("C:\Program Files (x86)\Google\Chrome\Application\chrome.exe -url " & WebUrl)

    Next
End Sub

Ответ, данный @ray выше, работает отлично, но убедитесь, что вы используете правильный путь, чтобы открыть файл. Если вы щелкнете правой кнопкой мыши по своей иконке и выберете свойства, вы должны увидеть, где находится фактический путь, просто скопируйте его и он должен работать.

свойства

Вы можете использовать selenium basic для запуска и взаимодействия с Chrome. После установки вам нужно будет добавить ссылку на библиотеку Selenium Type.

      Option Explicit
Public Sub Demo()
    Dim d As WebDriver
    Set d = New ChromeDriver
    Const URL = "https://www.google.com/"

    With d
        .Start "Chrome"
        .get URL
        .FindElementById("lst-ib").SendKeys "Selenium basic GitHub"
         .FindElementsByTag("form")(1).FindElementByCss("input[value='Google Search']").Click
        '.Quit
    End With
End Sub
Другие вопросы по тегам