Vba 检查Internet连接可用性

Vba 检查Internet连接可用性,vba,excel,Vba,Excel,使用以下代码,在的帮助下,我正在检查用户是否有正常的Internet连接: Private Declare Function InternetGetConnectedState _ Lib "wininet.dll" (ByRef dwflags As Long, _ ByVal dwReserved As Long) As Long Private Const INTERNET_CONNECTION_MODEM As Long = &H1 Private Const INT

使用以下代码,在的帮助下,我正在检查用户是否有正常的Internet连接:

Private Declare Function InternetGetConnectedState _
   Lib "wininet.dll" (ByRef dwflags As Long, _
   ByVal dwReserved As Long) As Long
Private Const INTERNET_CONNECTION_MODEM As Long = &H1
Private Const INTERNET_CONNECTION_LAN As Long = &H2
Private Const INTERNET_CONNECTION_PROXY As Long = &H4
Private Const INTERNET_CONNECTION_OFFLINE As Long = &H20
Function IsInternetConnected() As Boolean
    Dim L As Long
    Dim R As Long
    R = InternetGetConnectedState(L, 0&)
    If R = 0 Then
        IsInternetConnected = False
    Else
        If R <= 4 Then
            IsInternetConnected = True
        Else
            IsInternetConnected = False
        End If
    End If
End Function
私有声明函数InternetGetConnectedState_
Lib“wininet.dll”(ByRef dwflags,长度相同_
ByVal dw保留为Long)保留为Long
专用常量INTERNET\u连接\u调制解调器长度=&H1
专用常量INTERNET\u连接\u LAN长度=&H2
专用常量INTERNET\u连接\u代理长度=&H4
Private Const INTERNET\u连接\u脱机(只要=&H20)
函数IsInternetConnected()为布尔值
我和你一样长
变暗,变长
R=InternetGetConnectedState(L,0&)
如果R=0,则
IsInternetConnected=False
其他的

如果R将
PtrSafe
添加到Win 64位的声明中:

Private Declare PtrSafe Function InternetGetConnectedState _
   Lib "wininet.dll" (ByRef dwflags As Long, _
   ByVal dwReserved As Long) As Long

您需要使用预编译器,如#if vba7。。。。谷歌预编译器声明ptrsafe或其他什么,不是在excel中,也记不清了:)@user5414798好的,谢谢你,我来看看预编译器是什么!读一读这个