使用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时不包括引号。