使用VBA在Excel中打开多个链接

我有下面的代码,应该一次打开Excel中的多个链接

Sub OpenLink() Dim xHyperlink As Hyperlink Dim WorkRng As Range On Error Resume Next xTitleId = "Select Area" Set WorkRng = Application.Selection Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8) For Each xHyperlink In WorkRng.Hyperlinks xHyperlink.Follow Next End Sub 

然而,哪个不起作用,我不明白为什么。

我的链接的forms是=HYPERLINK("http://example.com"; "Wording") ,他们独立工作。

我相信这是不正常的,因为你正在使用超链接function(而不是右键单击>超链接..)

您可以通过右键单击指定超链接到单元格并在其中testing代码来certificate这是问题。

你从另一个单元获取链接地址? 如果是这样,你可以直接在那里打开链接使用ActiveWorkbook.FollowHyperlink或者你可以使用这样的技术阅读公式的超链接值:

https://stackoverflow.com/a/42564907/359135

一些工作(希望)代码从公式中提取URL并打开它:

 Sub OpenLinks() Dim xHyperlink As Hyperlink Dim WorkRng As Range On Error Resume Next xTitleId = "Select Area" Set WorkRng = Application.Selection Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8) For Each c In WorkRng.Cells Dim sFormula As String Dim l As String sFormula = c.Formula l = Mid(sFormula, WorksheetFunction.Search("""", sFormula) + 1, WorksheetFunction.Search(",", sFormula) - WorksheetFunction.Search("""", sFormula) - 2) ActiveWorkbook.FollowHyperlink l Next End Sub 

我不得不调整从该示例中的代码,以便在从公式文本中提取URL时不包括引号。