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.
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
