5W2H – Envio por email das pendências – VBA e Outlook
Como enviar e-mail com o Outlook utilizando Excel e VBA. Neste exemplo é disponibilizada uma planilha de 5W2H que realiza o envio de e-mail com as atividades em atraso automaticamente usando Outlook.

A técnica 5W2H é basicamente um formulário para execução e controle de tarefas onde são atribuídas as responsabilidades e determinado como o trabalho deverá ser realizado, assim como o departamento, motivo e prazo para conclusão com os custos envolvidos. A sigla significa:
- 1 – What (o que será feito),
- 2 – Who (quem fará),
- 3 – When (quando será feito),
- 4 – Where (onde será feito),
- 5 – Why (por que será feito)
- 1 – How (como será feito)
- 2 – How Much (quanto custará)
O desenvolvimento deste controle começa com reuniões aonde são analisados os problemas e são definidas tarefas para as soluções das tarefas. Nesta planilha são definidos os prazos e estes devem ser controlados por alguém da equipe, o andamento das atividades são apresentados nas reuniões de acompanhamento.
Envio de e-mail automático pelo Excel
No cadastro das atividades do 5W2H nós temos a verificação se a data da atividade está em atraso.
Caso esteja em atraso o sistema irá enviar automaticamente para o e-mail cadastrado na coluna e-mail.

E-mail enviado pelo Excel utilizando o Outlook

A planilha deste artigo tem por função permitir que o controle dos prazos seja realizado de uma forma muito prática.
Com a definição dos prazos e a digitação dos emails dos responsáveis o sistema irá enviar o e-mail pra cada atividade em atraso ao clicar no botão de envio diretamente a cada responsável.
Para utilizar esta planilha é necessário que o seu Outlook esteja configurado. Abaixo o código:
Enviar e-mail VBA Outlook Excel
Importante:
Para aplicá-la em outra planilha é necessário setar a referência abaixo, clicando na guia Desenvolvedor, no botão Visual Basic e clicando no menu Ferramentas->Referências.
O código VBA Excel para envio de e-mails com Outlook é:
'Enviar e-mail Outlook
Private Sub Enviar_email(ByVal lEndereco As String, ByVal lTarefa As String)
Dim objOlAppApp As Outlook.Application
Dim objOlAppMsg As Outlook.MailItem
Dim objOlAppRecip As Outlook.Recipient
Dim objOlAppAnexo As Outlook.Attachment
'Criar objeto do Outlook
Set objOlAppApp = CreateObject("Outlook.Application")
Set objOlAppMsg = objOlAppApp.CreateItem(olMailItem)
With objOlAppMsg
'e-mail do destinatário
Set objOlAppRecip = .Recipients.Add(lEndereco)
objOlAppRecip.Type = olTo
'Grau de importância do e-mail
.Importance = olImportanceHigh
'Título do e-mail
.Subject = "Atividade em atraso: " & lTarefa & " em " & Format(Now, "dd-mm.yyyy hh:mm:ss")
'Texto do e-mail
.Body = "A tarefa " & lTarefa & " está em atraso, por favor verifique e me dê um retorno."
'Enviar e-mail
.Send
End With
End Sub
Realizar o Envio para cada Atividade em Atraso
O código VBA Excel para envio de e-mails de cada uma das atividades em atraso é o seguinte
Private Sub lsEnviarEmailAtraso()
Dim iTotalLinhas As Long
Dim i As Long
Dim lHoje As Date
P5W2H.Select
iTotalLinhas = P5W2H.Cells(Rows.Count, 1).End(xlUp).Row
i = 6
While i <= iTotalLinhas
If P5W2H.Cells(i, 6).Value <= Format(Now, "yyyy-mm-dd") Then
Enviar_email P5W2H.Cells(i, 10).Value, P5W2H.Cells(i, 3).Value
End If
i = i + 1
Wend
End Sub
Download da planilha de cálculo de valor hora
Abaixo você tem o download da planilha de cálculo de valor hora no Excel. Basta colocar seu e-mail para fazer parte da nossa newsletter gratuita e o download irá iniciar automaticamente.
Baixe a planilhaCurso Excel Completo – Do Básico ao VBA
Quer aprender Excel do Básico, passando pela Avançado e chegando no VBA? Clique na imagem abaixo:





