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: