Check if i'm connected to the internet

  • Thread starter Thread starter Guest
  • Start date Start date
G

Guest

Hi,

Is it possible in XL to check if i'm connected to the internet?

Thanks

John
 
John said:
Hi,

Is it possible in XL to check if i'm connected to the internet?

Thanks

John

You will need to the Wiindows API to determine if your connection is
live, not just that you have a
physical connection to the internet. Place this code in a Standard VBA
Module. The Function portions test if your connection is live, and the
Sub will display the results with a MessageBox.

'Note: WinINet dial-up functions do not support double-dial
connections,
'SmartCard authentication, or connections that require registry-based
certification.

'Flags for GetInternetState, these are returned
Public Const INTERNET_CONNECTION_MODEM As Long = &H1
Public Const INTERNET_CONNECTION_LAN As Long = &H2
Public Const INTERNET_CONNECTION_PROXY As Long = &H4
Public Const INTERNET_CONNECTION_MODEM_BUSY As Long = &H8
Public Const INTERNET_RAS_INSTALLED As Long = &H10
Public Const INTERNET_CONNECTION_OFFLINE As Long = &H20
Public Const INTERNET_CONNECTION_CONFIGURED As Long = &H40

Public Declare Function GetInternetState _
Lib "Wininet.dll" _
Alias "InternetGetConnectedState" _
(ByVal lpdwFlags As Long, _
ByVal Reserved As Long) As Long


Public Function IsInternetLive() As Boolean

Dim Flags As Long
Dim Ret

Ret = GetInternetState(Flags, 0&)
IsInternetLive = Ret And Not (Flags And
INTERNET_CONNECTION_OFFLINE)

End Function

Sub CheckInternetConnection()

If IsInternetLive Then
MsgBox "You are connected to the Internet."
Else
MsgBox "You are not connected to the Internet."
End If

End Sub

Sincerely,
Leith Ross
 
Thanks Leith, perfect solution

John

Leith Ross said:
You will need to the Wiindows API to determine if your connection is
live, not just that you have a
physical connection to the internet. Place this code in a Standard VBA
Module. The Function portions test if your connection is live, and the
Sub will display the results with a MessageBox.

'Note: WinINet dial-up functions do not support double-dial
connections,
'SmartCard authentication, or connections that require registry-based
certification.

'Flags for GetInternetState, these are returned
Public Const INTERNET_CONNECTION_MODEM As Long = &H1
Public Const INTERNET_CONNECTION_LAN As Long = &H2
Public Const INTERNET_CONNECTION_PROXY As Long = &H4
Public Const INTERNET_CONNECTION_MODEM_BUSY As Long = &H8
Public Const INTERNET_RAS_INSTALLED As Long = &H10
Public Const INTERNET_CONNECTION_OFFLINE As Long = &H20
Public Const INTERNET_CONNECTION_CONFIGURED As Long = &H40

Public Declare Function GetInternetState _
Lib "Wininet.dll" _
Alias "InternetGetConnectedState" _
(ByVal lpdwFlags As Long, _
ByVal Reserved As Long) As Long


Public Function IsInternetLive() As Boolean

Dim Flags As Long
Dim Ret

Ret = GetInternetState(Flags, 0&)
IsInternetLive = Ret And Not (Flags And
INTERNET_CONNECTION_OFFLINE)

End Function

Sub CheckInternetConnection()

If IsInternetLive Then
MsgBox "You are connected to the Internet."
Else
MsgBox "You are not connected to the Internet."
End If

End Sub

Sincerely,
Leith Ross
 
Whilst there is a range of API function to tell you various info about
state, if you need to cater for all the possible ways users may connect, the
only reliable way is try a known site.
How you do that is up to you: Ping, HTTPRequest, WebQuery etc.

NickHK
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Back
Top