Verifica Connesisone a Internet



  • Verifica Connesisone a Internet
    di Pel (utente non iscritto) data: 09/04/2016 19:17:14

    Ciao ragazzi, ho il seguente problema:
    Io devo inviare una email da excel o stampare il foglio a seconda che la connessione a internet sia attiva o no.
    Con VBA si riesce a creare un codice che verifichi la connessione a internet?!?!
    Praticamente la stampa è la soluzione di emergenza alla mancata connessione a internet ovviamente...
    Ho cercato online, ma nulla da fare, oltre che il problema va oltre le mie capacità...



  • di Pel (utente non iscritto) data: 09/04/2016 19:20:11

    Grazie in anticipo!



  • di alfrimpa data: 09/04/2016 20:04:07

    Ciao Pel

    Ho trovato in rete il codice che vedi sotto che è, manco a dirlo, del grande scossa (se non lo conosci è un utente anche di questo forum molto esperto)

    Inserisci il codice in un modulo standard e lancia la macro IsConnectedPing

    Potresti incominciare a provarla.

    Alfredo 
     
    Private Declare Function InternetCheckConnection Lib "wininet.dll" Alias "InternetCheckConnectionA" _ 
     (ByVal lpszUrl As String, ByVal dwFlags As Long, ByVal dwReserved As Long) As Boolean 
    
     Private Sub IsConnectedPing() 
       Dim bConn As Boolean 
      Private Declare Function InternetCheckConnection Lib "wininet.dll" Alias "InternetCheckConnectionA" _ 
     (ByVal lpszUrl As String, ByVal dwFlags As Long, ByVal dwReserved As Long) As Boolean 
    
     Private Sub IsConnectedPing() 
       Dim bConn As Boolean 
       Const sUrl As String = "indirizzo internet" 'attenzione al proxy  <=== qui metti un indirizzo internet
    
       bConn = InternetCheckConnection("h t t p://" & sUrl, &H1, &H0) <=== qui togli gli spazi in "h t t p"
       If bConn Then 
         MsgBox "connesso a Internet (" & sUrl & ")", vbInformation, "TEST CONNESSIONE" 
       Else 
         MsgBox "connessione a " & sUrl & " fallita", vbCritical, "TEST CONNESSIONE" 
       End If 
     End Sub





  • Risolto
    di Pel (utente non iscritto) data: 10/04/2016 01:49:31

    Ho fatto alcune modifiche perché ho office a 64 bit e snellito un po il codice a causa di doppioni ma ho risolto! Spero girerà anche sul 32..incrocio le dita!
    In ogni caso ho fatto!



  • di patel data: 10/04/2016 08:20:18

    questa è corretta
     
    Private Declare Function InternetCheckConnection Lib "wininet.dll" Alias "InternetCheckConnectionA" _
     (ByVal lpszUrl As String, ByVal dwFlags As Long, ByVal dwReserved As Long) As Boolean
    
     Private Sub IsConnectedPing()
       Dim bConn As Boolean
       Const sUrl As String = "google.it"
       bConn = InternetCheckConnection("h t t p://" & sUrl, &H1, &H0) '<=== qui togli gli spazi in "h t t p"
       If bConn Then
         MsgBox "connesso a Internet (" & sUrl & ")", vbInformation, "TEST CONNESSIONE"
       Else
         MsgBox "connessione a " & sUrl & " fallita", vbCritical, "TEST CONNESSIONE"
       End If
     End Sub
    





  • Precisazione
    di Pel (utente non iscritto) data: 10/04/2016 22:48:07

    E per esser precisi, poiché da errore coi sistemi a 64 bit, bisogna aggiungere tra Declare e Function, PtrSafe