2014-01-15 21 views
0

我有以下问题:绕过旧的超链接错误

我有一个宏脚本为excel运行超过300个excel工作簿,几张。 问题是,这些表中的一些有错误的超链接,每次我运行宏,弹出消息告诉我,工作表中发现的超链接不工作,我必须点击每次,:,,取消' '。有没有一种方法(代码),我可以写,会自动,取消''弹出问题,如果它出现?

+2

尝试夹'Appliction.DisplayAlerts = FALSE'和'Appliction.DisplayAlerts = TRUE'之间的代码? –

回答

1

您应该能够在包装代码绕过这个:

Application.DisplayAlerts = False 

-- your code -- 

Application.DisplayAlerts = True 
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