I’m trying to open a Chrome browser from VBA. I understand Chrome does not support ActiveX settings so I’m curious if theres any work-arounds?
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")
Worked here too:
Sub test544() Dim chromePath As String chromePath = """C:\Program Files\Google\Chrome\Application\chrome.exe""" Shell (chromePath & " -url http:google.ca") End Sub
I found an easier way to do it and it works perfectly even if you don’t know the path where the chrome is located.
First of all, you have to paste this code in the top of the module.
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
After that you have to create this two modules:
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
With this you will be able (if you want) to set a variable for the url or just leave it like hardcode.
Ps: It works perfectly for others browsers just changing “Chrome.exe” to opera, bing, etc.
You can use the following vba code and input them into standard module in excel. A list of websites can be entered and should be entered like this on cell A1 in Excel – www.stackoverflow.com
ActiveSheet.Cells(1,2).Value merely takes the number of website links that you have on cell B1 in Excel and will loop the code again and again based on number of website links you have placed on the sheet. Therefore Chrome will open up a new tab for each website link.
I hope this helps with the dynamic website you have got.
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
The answer given by @ray above works perfectly, but make sure you are using the right path to open up the file. If you right click on your icon and click properties, you should see where the actual path is, just copy past that and it should work.