Notifications
Clear all

Enviar email ao abrir e fechar planilha.

3 Posts
2 Usuários
0 Reactions
1,104 Visualizações
(@jokerpot)
Posts: 132
Estimable Member
Topic starter
 

Pessoal Boa Tarde!

Estou desenvolvendo uma planilha que enviará alertas a alguns emails quando o vencimento de "x" despesa esta proximo como 5 dias, 1 dia e já vencido.

Criei o código abaixo, porem gostaria que os disparos dos emails se dessem no momento da abertura da planilha logo pela manha e ao fechá-la no fim da tarde.

Podem em ajudar a inserir isso dentro do codigo?

Abraços

Sub Vencimento()

Dim Pergunta As Variant
Pergunta = MsgBox("O Outlook está aberto?", 4 + 32, "E-mail")
If Pergunta = vbNo Then
    MsgBox "Abra o Outlook para comandar a exportação dos dados", vbOKOnly, "Envio"
    Exit Sub
End
End If
        

Dim Email As Variant
Dim MENSAGEM As Variant
Dim olapp As Object
Dim oitem As Object


ULTIMA_LINHA = Sheets("Controle de Vencimento").Range("B1048576").End(xlUp).Row


ALERTA_1 = Sheets("Controle de Vencimento").Cells(5, 23).Value
ALERTA_2 = Sheets("Controle de Vencimento").Cells(5, 24).Value


CONTROLE = False

For n_LINHA = 5 To ULTIMA_LINHA
    
Sheets("Controle de Vencimento").Select

CONTROLE_PGTO = Sheets("Controle de Vencimento").Cells(n_LINHA, 16).Value

If CONTROLE_PGTO = "NÃO" Then
   CONTROLE = True
End If

ALERTA_3 = Sheets("Controle de Vencimento").Cells(n_LINHA, 25).Value

Data = Sheets("Controle de Vencimento").Cells(n_LINHA, 13).Value
MENSAGEM = Sheets("Controle de Vencimento").Cells(n_LINHA, 18).Value
ASSUNTO = Sheets("Controle de Vencimento").Cells(n_LINHA, 17).Value
Email = Sheets("Controle de Vencimento").Cells(n_LINHA, 19).Value
    
   If CONTROLE = True And _
      ALERTA_1 = Data Or _
      ALERTA_2 = Data Or _
      ALERTA_3 = Data Then
       
            Set olapp = CreateObject("Outlook.Application")
            Set oitem = olapp.CreateItem(0)
             
            With oitem
                .Subject = ASSUNTO
                .To = Email
                .body = MENSAGEM
'                .Attachments.Add (diretório & Arquivo)
                .SEND
            End With
        End If
        
 CONTROLE = False

Next n_LINHA

    MsgBox "Envio Efetuado.", vbOKOnly, "Envio"

End Sub

 
Postado : 27/07/2017 1:02 pm
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

JokerPot,

Boa noite!

Basta você inserir, nos eventos Workbook_Open e Workbook_BeforeClose o seguinte código:

Call Vencimento

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 27/07/2017 4:44 pm
(@jokerpot)
Posts: 132
Estimable Member
Topic starter
 

Obrigado Wagner.

Funcionou.

 
Postado : 28/07/2017 6:02 am