绕过旧的超链接错误

时间:2014-01-15 14:31:47

标签: excel vba excel-vba hyperlink

我有以下问题:

我有一个excel的宏脚本,它运行了300多个excel工作簿,有几张。 问题是这些工作表中的一些有错误的超链接,每次我运行宏时,弹出消息通知我表单中找到的超链接不起作用,我必须每次点击,:,,取消'' 。有没有一种方法(代码)我可以自动编写,取消''弹出问题,如果出现?

3 个答案:

答案 0 :(得分:1)

您应该可以通过将代码包装在:

中来绕过此问题
Application.DisplayAlerts = False

-- your code --

Application.DisplayAlerts = True

答案 1 :(得分:0)

答案 2 :(得分:0)

假设您的超链接指向工作表的单元格,并且该工作表可能不再存在,最好的办法可能就是删除这些超链接。

这就是你要这样做的方式:

Sub RemoveDeadHyperlinks()

    For Each hyperL In ActiveSheet.Hyperlinks

        'Extract name of the sheet from the subaddress
        toSheet = Left(hyperL.SubAddress, InStr(hyperL.SubAddress, "!") - 1)

        If WorksheetExists(toSheet) Then

            'Most likely a valid hyperlink!

        Else

            'Most likely a dead one!
            hyperL.Delete

        End If

    Next

End Sub

Public Function WorksheetExists(ByVal WorksheetName As String) As Boolean

    On Error Resume Next
    WorksheetExists = (Sheets(WorksheetName).Name <> "")
    On Error GoTo 0

End Function