使用 vba 打开链接而不使用 FollowHyperlink

Open links using vba without FollowHyperlink

在我的 vba 过程中,我有 ActiveWorkbook.FollowHyperlink Address:=link 但是“Link”通常对于函数来说太大而无法使用,因为“link”可以保存字符串值和一小段一样大,这导致我出现 运行 次错误。它适用于 links,字符串大小较小,但字符串较大,如果失败并出现以下确切错误

是否有另一种使用 vba 打开 link 的方法可以处理大 url?

请尝试使用 API。它应该接受 URL 最大字符串长度 (2048)。

  1. 复制标准模块顶部的下一个代码(在声明区域):
Option Explicit

Private Declare PtrSafe 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 LongPtr
  1. 复制已复制 API 函数的标准模块中的下一个代码:
Sub testOpenURL
   ShellExecute 0&, vbNullString, "http://www.your big string representing URL", vbNullString, vbNullString, 5
End Sub