vba - 使用 VBA 在默认浏览器中打开一个 html 页面?

标签 vba browser navigation

如何使用 VBA 在默认浏览器中打开 HTML 页面?我知道它是这样的:

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
如评论中所述,使其工作在 64 位 ,您需要添加 PtrSafe在 Private Declare Line 中,如下所示:
Private Declare PtrSafe Function ShellExecute _
关于安全性的简短说明:如果 URL 来自用户输入,请确保将该输入严格验证为 ShellExecute将执行具有用户权限的任何命令,也是 format c:如果用户是管理员,将执行。

关于vba - 使用 VBA 在默认浏览器中打开一个 html 页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3166265/

相关文章:

Android - WebViewClient 加载页面极其缓慢

css - 为什么 IE9 以臃肿和模糊的方式呈现字体?

ios - 位置管理器 + 本地通知

excel - VBA索引超出范围错误,但不是在调试

excel - 我需要做什么才能让 OpenOffice.org Calc 读取 Excel 文件中的 VBA 代码?

excel - 如何使我的 VBA 代码运行得更快而不使屏幕闪烁?

vba - 在 VBA 中使用 Solver 时如何关闭重新计算?

javascript - 在我的网站的所有浏览器检查工具上禁用调试 XHR 请求

jquery - 元素上的事件类(导航栏)

html - 底部的导航栏,居中 - CSS