Notifications
Clear all

Enviar email com 5 dias de antecedência

7 Posts
2 Usuários
0 Reactions
1,503 Visualizações
(@manhit)
Posts: 12
Active Member
Topic starter
 

Boas Tardes a todos
sou português comecei só agora a explorar o excel por isso podem ver sou muito noob ainda nestas lides
peço um pouco de paciência nas minhas questões pois podem para vocês parecerem simples mas para mim vao ser complicadas de certeza
obrigado a todos os que me vao ajudar
vou colocar o código que me esta a dar dor de cabeça se nao for para colocar aqui desculpem

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 = "$F$" & linha Then

        If Folha1.Cells(linha, 6) = "Alerta" Then
            texto = "Alerta ao " & Folha1.Cells(linha, 1) ' & "," & vbCrLf & vbCrLf & _
                    '"Analisar " & Folha1.Cells(linha, 7) & " Ter em Atenção " & _
                    'Folha1.Cells(linha, 2) & " foi concluída." & vbCrLf & _
                    '" Veja informações abaixo:" & vbCrLf & _
                    '"    Status: " & Folha1.Cells(linha, 6) & vbCrLf & _
                   ' "    Ação tomada: " & Folha1.Cells(linha, 5) & vbCrLf & vbCrLf & _
                    '"Atenciosamente," & vbCrLf & _
                   ' "Help Desk"
        End If

        With OutMail
            '.To = Folha1.Cells(linha, 1)
            .to = "eeeee@eee.pt"
            .CC = ""
            .BCC = ""
            .Subject = "Alertar "
            .Body = texto
            .Display   '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

o que me esta a acontecer é o seguinte se na coluna F escrever a palavra "Alerta" é enviado um email
se a palavra "Alerta" aparecer por formula já nao envia email
o que pretendo e quando faltarem 5 dias para a data prevista seja automaticamente enviado um email para mim com os dados da respetiva linha
obrigado desde já
adiciona a folha excel para uma melhor

 
Postado : 11/05/2018 8:46 am
(@boobymcgee)
Posts: 84
Trusted Member
 

Quando você quer que o evento ocorra?

Ao clicar em um botão ou ao digitar a data prevista ou ao abrir a planilha?

No código atual não envia o e-mail porque você coloca que só envia se a coluna alterada for = "$F"

If Target.Address = "$F$" & linha Then

Tem que saber quando é para acontecer o evento.

 
Postado : 11/05/2018 3:09 pm
(@manhit)
Posts: 12
Active Member
Topic starter
 

o que pretendo é que quando faltar 5 dias para a data prevista seja enviado automaticamente um email de alerta
o que eu estava a tentar e isso pois se eu na coluna f escrever a palavra Alerta é enviado email
mas se fizer isso automaticamente nao envia
ou seja se fizer aparecer a palavra alerta pela coluna E quando chega a cinco dias nao dá para enviar email
espero que ter explicado bem grande abraço e desde ja obrigado

 
Postado : 14/05/2018 1:52 am
(@boobymcgee)
Posts: 84
Trusted Member
 

Olá, veja se é isso.

 
Postado : 14/05/2018 1:24 pm
(@manhit)
Posts: 12
Active Member
Topic starter
 

Boas
não me leves a mal, mas não é bem isso
eu queria era imagina isto
coluna C tem a data sempre a actualizar certo
eu coloco na coluna D uma data por exemplo 3 meses depois
A coluna E vai contando os dias que faltam ate as datas se encontrarem
quando na coluna E aparecer que faltam 5 dias
na coluna F aparece a palavra Alerta e é enviado um email automaticamente
depois de enviar o email na Coluna G aparece a palavra SIM
e isto tudo sem ter de carregar no botão

MUITO OBRIGADO MESMO PELA AJUDA JÁ PRESTADA

 
Postado : 15/05/2018 9:44 am
(@boobymcgee)
Posts: 84
Trusted Member
 

Ok, veja agora.

 
Postado : 16/05/2018 6:16 am
(@manhit)
Posts: 12
Active Member
Topic starter
 

Amigo muito mas muito obrigado mesmo é isso mesmo que queria

nem sei como agradecer
obrigadão

 
Postado : 18/05/2018 3:30 am