Tengo mis dudas sobre si esto es lo que quieres hacer:
Simplemente utiliza el método
ShellExecute escribiendo la URL que quieres abrir, y la shell se encargará de utilizar el navegador por defecto con el que abrir la URL:
Dim objShell
Set objShell = CreateObject("Shell.Application")
objShell.ShellExecute "http://www.ejemplo.com", "", "", "open", 1
Set objShell = Nothing
Si por lo contrario lo que realmente quieres hacer es utilizar especificamente
Chrome para abrir la URL y, a menos que conozcas previamente la ubicación exacta de
Chrome, debo advertirte que
Chrome puede ser una instalación portable ubicada en cualquier directorio del sistema y sin dejar rastros en el registro de Windows.
Lo que quiero decir es que, para asegurar que "llamar a
Chrome para abrir una URL" funcione en cualquier PC, primero tienes que ubicar el archivo executable de
Chrome correctamente en cualquier tipo de instalación. Sin embargo, en la mayoría de casos
Chrome no se suele instalar de forma portable, y supongo que si el código que solicitas es solamente para tu uso personal entonces esta solución te servirá:
Puedes intentar hallar la ruta del executable de la instalación de
Chrome obteniendo el valor de cierta clave de registro de la siguiente forma:
Set objShell = CreateObject("WScript.Shell")
cmd = objShell.RegRead("HKCR\ChromeHTML\shell\open\command\")
exe = Mid(cmd, 2, 999)
exe = Left(exe, InStr(exe, Chr(34)) - 1)
(nota: ese código no lo puedo comprobar por mi mismo, ya que yo utilizo una versión portable de
Chrome. En caso de que no te funcione entonces te sugiero buscar en Internet; hay mucha información sobre en que claves del registro se puede almacenar la ruta completa al archivo executable de chrome.)
Y luego ya sería cuestión de utilizar al valor de la variable "exe", junto a la URL, en el método
Run o en
ShellExecute:
Dim objShell
Set objShell = CreateObject("Shell.Application")
objShell.ShellExecute """" & exe & """", "http://www.ejemplo.com", "", "open", 1
Set objShell = Nothing
Por supuesto, la obtención del valor del registro se puede omitir en caso de que ya conozcas la ubicación exacta del archivo executable de
Chrome y el código solo lo vayas a utilizar tú, en ese caso puedes resumirlo en algo similar a esto especificando la ruta completa del archivo executable:
Dim objShell
Set objShell = CreateObject("Shell.Application")
objShell.ShellExecute "C:\Program Files\Chrome\chrome.exe", "http://www.ejemplo.com", "", "open", 1
Set objShell = Nothing
Aténtamente,
Elektro.