【转载】VBA–验证是否存在URL-金宇
Access软件网QQ交流学习群(群号码198465573),欢迎您的加入!
首页 >技术文章> Access数据库-模块/函数/VBA


【转载】VBA–验证是否存在URL

发表时间:2023/3/28 10:19:00 评论(0) 浏览(1287)  评论 | 加入收藏 | 复制
   
摘 要:VBA–验证是否存在URL。
正 文:

      当我们要处理一个文件时,通常最好先进行测试以确保文件存在,如果我们需要从某个网站下载文件,那么需要先验证这个网址URL是否存在,那么可以通过下列的函数来进行校验。

      可以将下列的代码放到新建的模块中,然后可以在窗体的事件中进行调用,例如: WinHTTP_URLExist("http://www.accessoft.com")

Function WinHTTP_URLExist(ByVal sURL As String) As Boolean
    On Error GoTo Error_Handler
    #Const WinHTTP_EarlyBind = False   'True => Early Binding / False => Late Binding
    #If WinHTTP_EarlyBind = True Then
        Dim oWinHttp          As WinHttp.WinHttpRequest

        Set oWinHttp = New WinHttp.WinHttpRequest
    #Else
        Dim oWinHttp          As Object
        Const WinHttpRequestOption_UserAgentString = 0
        Const WinHttpRequestOption_EnableRedirects = 6

        Set oWinHttp = CreateObject("WinHttp.WinHttpRequest.5.1")
    #End If
    Dim lStatusCode           As Integer

    With oWinHttp
        .Option(WinHttpRequestOption_EnableRedirects) = False
        .Option(WinHttpRequestOption_UserAgentString) = "curl"
        .SetTimeouts 3000, 5000, 3000, 5000
        .Open "HEAD", sURL, False
        .Send
        lStatusCode = .Status
    End With
    WinHTTP_URLExist = (lStatusCode = 200)

Error_Handler_Exit:
    On Error Resume Next
    Set oWinHttp = Nothing
    Exit Function

Error_Handler:
    '-2147012889   The server name or address could not be resolved
    '-2147012894   The operation timed out
    If Err.Number <> -2147012889 And Err.Number <> -2147012894 Then
        MsgBox "The following error has occurred" & vbCrLf & vbCrLf & _
               "Error Source: WinHTTP_URLExist" & vbCrLf & _
               "Error Number: " & Err.Number & vbCrLf & _
               "Error Description: " & Err.Description & _
               Switch(Erl = 0, "", Erl <> 0, vbCrLf & "Line No: " & Erl) _
               , vbOKOnly + vbCritical, "An Error has Occurred!"
    End If
    Resume Error_Handler_Exit
End Function

Access软件网交流QQ群(群号:198465573)
 
 相关文章
[示例]单击按钮打开网址链接;Access打开网站示例;Acces...  【钱玉炜  2008/9/2】
打开某个网址函数OnlineWeb  【竹笛  2008/12/8】
用命令按钮打开超链接网址的示例(可以任意定义盘符、文件名及网址)  【麥田  2012/3/17】
将指定网址的网页另存为MHT格式(VBA)  【Big Young  2014/11/13】
网址管理程序  【lmqlt  2018/4/3】
【Access自定义函数】URL编码函数--解决中文字符出现乱码的...  【金宇  2021/6/29】
常见问答
技术分类
相关资源
文章搜索
关于作者

金宇

文章分类

文章存档

友情链接