Enviar e-mail pelo o Excel quando faltar 30 dias para vencer um contrato.
Caros amigos,
Já procurei em todos os lugares mais não consegui uma solução para o meu problema. Me cadastrei hoje no forum com esperança de poder resolver o mesmo.
Bom, preciso criar uma Planilha, onde cadastro vários contratos de agências do interior. Preciso que a mesma me envie um e-mail automático sem eu precisar abrir a planilha quando faltar 30 dias para se vencer o contrato.
Encontrei uma solução, porém ele envia o e-mail, porém não vai a linha com as informações tipo a agência que esta se vencendo.
Vejam o código abaixo:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim OutApp As Object
Dim OutMail As Object
Dim texto As String
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)
linha = ActiveCell.Row - 1
If Target.Address = "$D$" & linha Then
If Plan2.Cells(linha, 4) = "30" Then
texto = "Prezado(a) " & Plan2.Cells(linha, 5) & "," & vbCrLf & vbCrLf & _
"O Vencimento da Agência " & Plan2.Cells(linha, 1) & " faltando 30 dias para se vencer."
End If
With OutMail
.To = Plan2.Cells(linha, 5)
.CC = ""
.BCC = ""
.Subject = "Agência faltando 30 dias para vencer"
.Body = texto
.Send 'Utilize Send para enviar o email sem abrir o Outlook
End With
On Error GoTo 0
Set OutMail = Nothing
Set OutApp = Nothing
End If
End Sub
Com esse código acima, quando digito 30 na célula, dispara a seguinte mensagem para mim:
Assunto: Agência faltando 30 dias para vencer
Prezado(a) claudionor,
O Vencimento da Agência Amontada faltando 30 dias para se vencer.
Porém quando fecho a planilha e coloco uma data para testar, só chega para o meu e-mail a seguinte mensagem:
Assunto: Agência faltando 30 dias para vencer.
Como visto, não vai a informação que eu preciso como vai no outro acima.
Detalhe...faço a seguinte formula:
Na planilha 01
Vencido : =SE(L7="";"";SE(L7-HOJE()<=0;"Vencido";SE(L7-HOJE()<=30;L7-HOJE();"")))
Na planilha 02:
Status : =Plan1!M7
Agradeço muito mesmo quem poder me ajudar.
Obrigado a todos.
Claudionor.