我有以下問題:繞過舊的超鏈接錯誤
我有一個宏腳本爲excel運行超過300個excel工作簿,幾張。 問題是,這些表中的一些有錯誤的超鏈接,每次我運行宏,彈出消息告訴我,工作表中發現的超鏈接不工作,我必須點擊每次,:,,取消' '。有沒有一種方法(代碼),我可以寫,會自動,取消''彈出問題,如果它出現?
我有以下問題:繞過舊的超鏈接錯誤
我有一個宏腳本爲excel運行超過300個excel工作簿,幾張。 問題是,這些表中的一些有錯誤的超鏈接,每次我運行宏,彈出消息告訴我,工作表中發現的超鏈接不工作,我必須點擊每次,:,,取消' '。有沒有一種方法(代碼),我可以寫,會自動,取消''彈出問題,如果它出現?
您應該能夠在包裝代碼繞過這個:
Application.DisplayAlerts = False
-- your code --
Application.DisplayAlerts = True
比方說,你的超鏈接都指向一個工作表的單元,並且該工作表可能不再存在,最好的辦法可能只是刪除這些超鏈接。
這是你會怎麼做:
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
嘗試夾'Appliction.DisplayAlerts = FALSE'和'Appliction.DisplayAlerts = TRUE'之間的代碼? –