Ejecutar macro solo cuando haya conexión a internet

Solo consultas sobre macros y código VBA Excel.
Reglas del Foro
1. Antes de hacer tu pregunta intenta con el buscador de este foro (muchas preguntas ya fueron respondidas antes!)
2. Si haces una nueva pregunta, es muy recomendable que adjuntes el ejemplo Excel para poder comprenderla mejor!
3. Realiza tu pregunta de forma clara, explicando bien cada paso de lo que haces y tendrás más probabilidad de respuesta!
Responder
ivan26
Miembro Frecuente
Miembro Frecuente
Mensajes: 84
Registrado: 15 Oct 2016 21:15

Ejecutar macro solo cuando haya conexión a internet

Mensaje por ivan26 » 18 May 2019 01:41

Buenas noches, quisiera adaptar este código para que funcione en excel de 64 bits.

Código: Seleccionar todo

Private Declare Function EstadoConexionInternet Lib "wininet" _
  Alias "InternetGetConnectedState" (ByRef opciones As Long, _
    ByVal reservado As Long) As Long
Private Function InternetConectado() As Boolean
  Dim opciones As Long
  EstadoConexionInternet opciones, 0&
  InternetConectado = opciones And (&H1 Or &H2 Or &H4)
End Function
Esta es la conversación anterior: ejecutar-macro-solo-cuando-haya-conexio ... 43403.html

Muchas gracias de antemano



Avatar de Usuario
Héctor Miguel
Miembro Frecuente
Miembro Frecuente
Mensajes: 5419
Registrado: 26 Mar 2005 18:31

Re: Ejecutar macro solo cuando haya conexión a internet

Mensaje por Héctor Miguel » 18 May 2019 04:11

ivan26 escribió:
18 May 2019 01:41
... quisiera adaptar este código para que funcione en excel de 64 bits...
solo cambia la llamada a la API agregando "PtrSafe" +/- asi:

Código: Seleccionar todo

Private Declare PtrSafe Function EstadoConexionInternet Lib "wininet" _
  Alias "InternetGetConnectedState" (ByRef opciones As Long, _
    ByVal reservado As Long) As Long
saludos,
hector.



ivan26
Miembro Frecuente
Miembro Frecuente
Mensajes: 84
Registrado: 15 Oct 2016 21:15

Re: Ejecutar macro solo cuando haya conexión a internet

Mensaje por ivan26 » 18 May 2019 10:43

Muchas gracias Héctor, funciona perfectamente :D



Responder