Excel VBA模块测试超链接字符串是否引用有效文件

Excel VBA模块测试超链接字符串是否引用有效文件,excel,vba,Excel,Vba,我试图找出一种方法来测试excel中的超链接字符串是否指向我们网络上的有效文件。但是,我有限的VBA知识似乎越来越强了 示例: 假设函数“HyperTest”根据超链接的有效性返回TRUE或FALSE。 单元格A1包含“c:\123.txt” 单元格B1包含“=如果(超级测试(A1),“耶,文件是真实的!”,“看起来有人删除了您的文件。”) 我假设模块代码应该类似于: Public Function HyperTest(hyperpath As String) As Boolean If [in

我试图找出一种方法来测试excel中的超链接字符串是否指向我们网络上的有效文件。但是,我有限的VBA知识似乎越来越强了

示例: 假设函数“HyperTest”根据超链接的有效性返回TRUE或FALSE。 单元格A1包含“c:\123.txt” 单元格B1包含“=如果(超级测试(A1),“耶,文件是真实的!”,“看起来有人删除了您的文件。”)

我假设模块代码应该类似于:

Public Function HyperTest(hyperpath As String) As Boolean
If [insert test here] Then
   return TRUE

Else
   return FALSE

End If

End Function
您可以使用。如果路径不存在,则函数不会返回任何内容。而且由于布尔值的默认值为
False
,因此不需要
Else
语句

Public Function HyperTest(hyperpath As String) As Boolean

    If Dir(hyperpath) <> vbNullString Then HyperTest = True

End Function
公共函数超测试(超路径为字符串)为布尔值
如果Dir(hyperpath)vbNullString,则HyperTest=True
端函数

您可以使用这个小自定义项来获取OP

Function HyperTest(c As Range)
    If Dir(c) <> "" Then
        HyperTest = "File exists."
    Else
        HyperTest = "File doesn't exist."
    End If
End Function
功能超测试(c为范围)
如果Dir(c)“,则
HyperTest=“文件已存在。”
其他的
HyperTest=“文件不存在。”
如果结束
端函数
并在任何单元格中调用此函数