Ответ 1
shell("C:\Users\USERNAME\AppData\Local\Google\Chrome\Application\Chrome.exe -url http:google.ca")
Я пытаюсь открыть браузер Chrome из VBA. Я понимаю, что Chrome не поддерживает настройки ActiveX, поэтому мне любопытно, есть ли какие-либо проблемы вокруг?
Dim ie As Object
Set ie = CreateObject("ChromeTab.ChromeFrame")
ie.Navigate "google.ca"
ie.Visible = True
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.stackoverflow.com
ActiveSheet.Cells(1,2).Value просто берет количество ссылок на веб-сайты, которые у вас есть на ячейке 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 выше, работает отлично, но убедитесь, что вы используете правильный путь, чтобы открыть файл. Если вы щелкнете правой кнопкой мыши по своей иконке и выберете свойства, вы должны увидеть, где находится фактический путь, просто скопируйте его, и он должен работать.