Ayuda envio mail excel si celda cumple condicion

Tengo un grave problema en excel que no he sido capaz de resolver:
Ocurre que tengo una planilla que permite:
1.- Ingresar un nombre de usuario en A y señala su correo en B, con la función Si
2.- En C ingreso el asunto, en DE el plazo de entrega y en E el texto del mail
3.- Con la función hoy, determino si existe o no plazo para la entrega
4.- Con la función concatenar logro unir el mail de B y el asunto de C. Pero no se cómo unir -sintaxis- la celda E para sea el cuerpo del mensaje a enviar.
5.- Finalmente con hipervínculo hago referencia a concatenar y envío el mail al destinatario -B- con el asunto -C- y sin cuerpo de mail -E- porque no sé hacerlo. Todo ello haciendo click en la celda de hipervínculo.
Mi duda es cómo generar una macro que determinando -en cada una de las celdas de una columna- que el plazo de entrega está vencido, tome el hipèrvinculo -con destinatario, asunto y texto de mail- y envíe automáticamente un mensaje al usuario.
Ojalá puedas ayudarme.
Respuesta
1
¿Ud valida con la función hoy si el contenido de cada celda de la columna DE es igual al de la función hoy y si es así que se envíe el mail automáticamente?, y como queda rotulado el plazo en cada celda de la columna D. estos datos los necesito bien explicados para poder adecuar la macro para que envíe los mail, si ud gusta puede enviarme el archivo al correo [email protected], puede ser con dos registros para yo realizar la prueba de la macro.
Debo anotar que de la forma que lo esta haciendo creo que no se puede hacer que el texto del mensaje se copie en el cuerpo del outlook.
Espero pronta respuesta para dar solución a su pregunta, ya que tengo que hacer la prueba en otro ordenador, debido a que no tengo instaladas unas referencias necesarias para que funcione la macro.
Bueno a continuación dejo el código, el cual le va a servir para hacer lo que necesita, con respecto a validar la fecha de plazo supongo que va colocadno la fecha 004/08/2010 y cuando se llegue ese día se debe enviar el correo, esta macro funciona de esa manera, recuerde que debe insertar un modulo y pegar todo el código y en la hoja insertar una autorforma yasignar la macro para que le sea más fácil ejecutarla, debo anotar que el código lo saque de un topic de esta misma página y lo acondicione a sus requerimientos el topic es http://www.todoexpertos.com/categorias/tecnologia-e-internet/software-y-aplicaciones/microsoft-excel/respuestas/189303/enviar-correo-desde-excel, también debe tener en cuenta que para que le funcione bien, debe instalar en herramientas/referencias la opción microsoft outlook 12.0bject library
Sub Send_Msg()
Dim objOL As New Outlook.Application
Dim objMail As MailItem
Sheets("Hoja1").Select
Range("D2").Select
Do While Not IsEmpty(ActiveCell)
If (ActiveCell.Value = Date) Then
Set objOL = New Outlook.Application
Set objMail = objOL.CreateItem(olMailItem)
With objMail
.To = ActiveCell.Offset(0, -2).Value
.Subject = ActiveCell.Offset(0, -1).Value
.Body = ActiveCell.Offset(0, 1).Value
' .Display 'muestra mensaje
.Send
End With
End If
Set objMail = Nothing
Set objOL = Nothing
MsgBox "Mail enviado"
ActiveCell.Offset(1, 0).Select
Loop
End Sub
Espero que le sea de utilidad mi ayuda, recuerde que cualquier inquietud con mucho gusto me puede consultar en mi perfil, NO OLVIDE PUNTUAR Y FINALIZAR LA PREGUNTA, que tenga un feliz día!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas