Enviar mail automático desde Excel

Vi otras consultas de como generar mails automáticos antes una celda condicional en Excel, y me interesaría que me ayuden a programar esto en una hoja de excel que generé para hacer seguimiento.

2 respuestas

Respuesta
4

Tengo desarrollada una Guía temática con más de 20 casos o ejemplos para el envío de mail desde Excel, así que imagina que amplio es el tema.

Dame una idea de lo que necesitas enviar: un mensaje, un rango de celdas, ¿una hoja o un libro completo?

Quedo a la espera de tus aclaraciones para continuar.

Sdos

Elsa

Muchas gracias por tu respuesta.

Te envío una imagen para explicarlo mejor.

Necesito que al abrirse el excel se envíe un mail a una dirección predefinida (con los campos: cliente, Estado, próximo vencimiento) cuando el Estado esté en color rojo. Esta celda está de color roja cuando alguna de las columnas color dice rojo (esto es cuando está atrasada la tarea)

Desde ya te agradecería ayuda en cómo programar esto.

Saludos

Te dejo la primer macro, la más básica, para que veas el código (va explicado en cada línea) . Hay detalles que no aclaraste en la consulta:

1- Al abrir el libro... entonces va en el evento Open

2- ¿Qué celdas se revisan? ¿Todas las de col Q? ¿Dónde aparece la dirección de envío? ¿Cuál es el texto a enviar? ¿Cuál es el cuerpo del mensaje a enviar?

3- No dice 'rojo' en ninguna celda. Entonces hay que evaluar cuando esa celda Q se coloca de rojo... ¿tiene un formato condicional? La macro puede evaluar la condición del formato, no siempre el color.

Sub enviaMail_Ej1()
'x Elsamatilde
'-------EJEMPLO 1: Envío de un  mensaje a un destinatario
'Las variables se utilizan para indicar las referencias.
Dim myOLApp
Dim myOLItem
Dim olMailItem
Dim miasunto As String, mitexto As String, midire As String
'se la celda Q8 está vacía cancela el proceso
If Range("Q8") = "" Then Exit Sub
'aquí aún se debe evaluar si está en rojo o no.
'ajustar según las refeencias de cada libro
midire = Range("A8").Value   'O UNA DIRECCIÓN PREDEFINIDA: midire = "[email protected]"
miasunto = "Aviso de Vto"
mitexto = "Estimado Cliente: comunicamos a Ud el vto ........."
'se crea un objeto Outlook, Mail
Set myOLApp = CreateObject("Outlook.Application")
Set myOLItem = myOLApp.CreateItem(olMailItem)
'se establecen los campos del mensaje
With myOLItem
.To = midire         'campo A o Para
.Subject = miasunto   'campo Asunto
.Body = mitexto       'cuerpo del mensaje
.Display    '.send    'mostrar o enviar
End With
'se liberan las variables creadas
Set myOLApp = Nothing
Set myOLItem = Nothing
End Sub

Arma la macro a tu caso siguiendo este modelo y luego si te quedan puntos por desarrollar, dejame nuevas consultas en el tablón una vez valorada ésta.

Sdos

Elsa

La consulta sigue como pendiente... si el tema NO quedó resuelto comenta y aclara los detalles que te pregunto en respuesta anterior, sino por favor valora (a continuación verás un desplegable con un par de opciones: Buena, Excelente...) y así la damos por cerrada.

Sdos!

Respuesta

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas