我正在创建一个宏,并想知道是否有任何方法来检查单元格是否具有有效的超链接?我只想建立一个基本的,如果状态: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