Как я открываю страницу HTML в браузере по умолчанию с VBA? Я знаю, что это - что-то как:
Shell "http://myHtmlPage.com"
Но я думаю, что должен сослаться на программу, которая откроет страницу.
Для этого можно использовать функцию Windows API ShellExecute
:
Option Explicit
Private Declare Function ShellExecute _
Lib "shell32.dll" Alias "ShellExecuteA" ( _
ByVal hWnd As Long, _
ByVal Operation As String, _
ByVal Filename As String, _
Optional ByVal Parameters As String, _
Optional ByVal Directory As String, _
Optional ByVal WindowStyle As Long = vbMinimizedFocus _
) As Long
Public Sub OpenUrl()
Dim lSuccess As Long
lSuccess = ShellExecute(0, "Open", "www.google.com")
End Sub
Небольшое замечание по поводу безопасности: Если URL приходит из пользовательского ввода, убедитесь, что этот ввод строго проверен, поскольку ShellExecute
выполнит любую команду с правами пользователя, также format c:
будет выполнен, если пользователь является администратором.