Откройте 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