Macro para enviar email cumplida una condición.

Tengo una lista con el nombre de alumnos (fila A), el email de cada alumno (fila B), fecha de entrega de un trabajo (fila C), y si el trabajo fue entregado o no (fila D). Suponiendo que la fecha de entrega es el 31/07 y si la fecha de hoy fuera 01/08 y el trabajo no se entrego se me genera un aviso que ese alumno no entrega el trabajo aun. Logre que se genere la alerta de que el trabajo esta atrasado. Ahora lo que necesito es que al cumplirse esa condición al alumno se le envie un email avisandole que a la fecha de hoy el trabajo no fue entregado y que se encuentra en estado "fuera de plazo". ¿Cómo puedo realizar esa macro?

1 Respuesta

Respuesta
1

Tendrás un ejemplo de cómo tienes los datos en cada columna, ¿sobre todo la fila D?

Disculpa la demora;

Te mando el código para la macro. Espero aún te sea de utilidad.

Option Explicit
Sub enviarCorreo()
    ' Proceso de envío de correo a trabajos fuera de plazo
        Dim outlookApp As Outlook.Application
        Dim miItem As Outlook.MailItem
        Dim cell As Range
        Dim asunto As String
        Dim correo As String
        Dim destinatario As String
        Dim msg As String
        Dim i As Integer
        Set outlookApp = New Outlook.Application
        Range("D1").Activate
        For i = 1 To Range("D" & Rows.Count).End(xlUp).Row
            If Cells(i, "D") = "Fuera de Plazo" Then
                asunto = "Trabajo fuera de plazo"
                correo = ActiveCell.Offset(0, -2).Value
                destinatario = ActiveCell.Offset(0, -3).Value
                msg = "Este correo es para avisarle que su trabajo no fue entregado " _
                            & "en el plazo convenido"
                Set miItem = outlookApp.CreateItem(olMailItem)
                With miItem
                    .To = correo
                    .Subject = asunto
                    .Body = msg
                    .Send
                End With
            End If
        Next
End Sub

Bastará con que modifiques el mensaje y el asunto.

La pregunta no admite más respuestas

Más respuestas relacionadas