我正在創建一個宏,並想知道是否有任何方法來檢查單元格是否具有有效的超鏈接?我只想建立一個基本的,如果狀態:Excel中的單元格是否有超鏈接「特徵」?
If Range("A1").hyperlink = True Then
// don't perform action
Else
// Perform action
End if
顯然.hyperlink是錯誤的(?右),反正是有這樣做嗎?
我正在創建一個宏,並想知道是否有任何方法來檢查單元格是否具有有效的超鏈接?我只想建立一個基本的,如果狀態:Excel中的單元格是否有超鏈接「特徵」?
If Range("A1").hyperlink = True Then
// don't perform action
Else
// Perform action
End if
顯然.hyperlink是錯誤的(?右),反正是有這樣做嗎?
你可以使用
If Left(Range("A1").Formula, 7) = "=HYPERLINK" Then
Debug.print "Link found!"
End If
注意上面會,如果你實際使用=Hyperlink()
公式工作只。如果您的單元格僅包含帶文本的超鏈接,則使用http://www.google.com
,然後使用以下代碼:
Sub t()
Dim rng As Range
Dim isLink As Boolean
isLink = False
Set rng = Range("A1")
If Left(rng.Formula, 7) = "=HYPERLINK" Then
isLink = True
ElseIf rng.Hyperlinks.Count > 0 Then
isLink = True
End If
If isLink Then
' If there's a hyperlink, run the code here.
End If
End Sub
有無論如何檢查鏈接是否有效?例如,如果超鏈接所鏈接到的Excel工作表已被刪除(由宏的另一部分...這是宏常規功能的一部分),超鏈接不再有效。但是,rng.Hyperlinks.count仍然爲1,因爲超鏈接尚未被刪除,但其目標無效,因爲它不再存在。有沒有辦法檢查? 「 –
」...超鏈接不再有效。「 - 你的意思是說,如果你按照鏈接進入404 /不存在的頁面?或者它對您的使用無效? – BruceWayne
是的,我的意思是說,它會跳出一個404彈出窗口說網頁不存在 –
Excel確實支持超鏈接對象。 [此鏈接](https://msdn.microsoft.com/en-us/library/office/ff835563.aspx)可以告訴你更多。如果我是你,我會識別我感興趣的範圍內的所有超鏈接。然後,如果(例如)範圍A1不在超鏈接對象列表中的單元格列表中,我將運行if循環,否則將失敗他們。 –
你的鏈接是如何給出的?我的答案應該同時包含'= Hyperlink(「http://www.google.com」,「鏈接」)單元格和'http:// www.google.com'單元格。是否有另一種可能被忽略的格式? – BruceWayne
供您參考。您稱之爲_Characteristic_的正確術語是_Property_。 – litelite