Envio email cuando en Excel se cumple una condicion

2 envíos / 0 nuevos
Último envío
EZ
Imagen de EZ
Offline
última acción: Hace 4 años 1 mes
alta: 25/06/2013 - 19:44
Puntos: 31
Envio email cuando en Excel se cumple una condicion

Hola,

Necesito enviar un email (o sms) de forma automática cuando en un archivo de excel se cumpla una condición.

Tengo una hoja de excel conectada a una web y por eso están continuamente modificandose los valores. Lo que quiero es, p.ej. que cuando la celda A1 de la Hoja1 tenga valor 1 automaticamente me envie un email diciendome la celda A1 ha alcanzado el valor 1"

Espero que pueda hacerse. Muchas gracias por anticipado.

Etiquetas: 

pacomegia
Imagen de pacomegia
Offline
última acción: Hace 1 hora 16 mins
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntosadministrador
alta: 27/12/2006 - 23:26
Puntos: 9545
Re: Envio email cuando en Excel se cumple una condicion

Hola:

En primer lugar Excel se calcula sólo si el libro está abierto, así que para que compruebe esta condición deberías mantener el archivo abierto. (esto parece una tontería, pero hay que decirlo, como en las instrucciones de los electrodomésticos que pone "compruebe que el aparato está conectado a la red eléctrica y que haya corriente")

Cuando hablas de que la hoja está conectada a una web, entiendo que es mediante una consulta de datos externos y que la tienes configurada para que se actualice cada x minutos.

 

El problema es que no hay un evento que incorpore Excel que se produzca tras la actualización, en el que realizar esa comprobación que quieres hacer para ver si cierta celda sobrepasa el umbral.

-Alternativa 1: si hay algo que se calcula en la hoja a partir de los datos de la consulta (supongo que tendrás una celda que comprueba cosas y devuelve ese 1) puedes utilizar el evento Calcular de la hoja para que se ejecuta cada vez que la hoja se calcula

Worksheet_Calculate

este evento está en el código de la hoja

 

-Alternativa 2: crear una clase nueva para la consulta con el evento afterupdate. Aquí explican cómo http://support.microsoft.com/kb/213187/en-us

 

Una vez que se cumpla la condición, para el envío de mensajes, se puede hacer de varias maneras, depende del gestor de correo que tengas instalado o de si lo quieres hacer utilizando un correo web (como en este caso http://www.necesitomas.com/automatizar-pedido-outlook-web-access-owa)

 

Por cierto, pon un indicador en algún sitio diciendo que has enviado el mensaje, para que sólo envíe el mensaje la primera vez que se cumpla la condición y no empiece a enviar el mismo mensaje cada minuto.

 

 

 

Data Tools Suite
datos y tablas con Excel