Você está na página 1de 4

5W2H – Envio por email das pendências – VBA e

Outlook
5W2H – Envio por email das pendências – VBA e Outlook
Objetivo: Demonstrar a aplicação do método 5W2H e a automatização do envio das
tarefas em atraso através do uso de VBA e do 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:

o 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. 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 a
planilha automaticamente ao ser aberta questionará se gostaria de enviar email com as
atividades atrasadas para os responsáveis através do Outlook. Para utilizar esta planilha
é necessário que o seu Outlook esteja configurado. Abaixo o código:

<pre><span style="color: #008000;">'Enviar email


Sub Enviar_email(ByVal lEndereco As String, ByVal lTarefa As String)
Dim enderecos As Range
Dim celula As Range
Dim anexo As String
Dim r As Integer
Dim fim
Dim enviar
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
'Email do destinatário
Set objOlAppRecip = .Recipients.Add(lEndereco)
objOlAppRecip.Type = olTo
'Grau de importância do email
.Importance = olImportanceHigh
'Cabeçalho do email
.Subject = "5W2H - Pendência em atraso " &amp; lTarefa &amp; "
em " &amp; Format(Now, "dd-mmm.yyyy hh:mm:ss")
'Texto do email
.Body = "A tarefa " &amp; lTarefa &amp; " está em atraso, por
favor verifique."
'Enviar email
.Send
End With

'Liberar variáveis
Set objOlAppApp = Nothing
Set objOlAppMsg = Nothing
Set objOlAppAnexo = Nothing
Set objOlAppRecip = Nothing
End Sub

'Enviar emails das pendências


Sub lsEnviarAtrasos()
Dim iTotalLinhas As Long
Dim i As Long
Dim lHoje As Date

Worksheets("5W2H").Select
Cells(2, 1).Select

iTotalLinhas = Cells(Rows.Count, 1).End(xlUp).Row + 1

i = 2

While i &lt;= iTotalLinhas


If Cells(i, 6).Value &lt;= Range("K1").Value Then
Enviar_email Cells(i, 10).Value, Cells(i, 3).Value
End If
i = i + 1
Wend
End Sub

'Enviar emails e fechar aplicação


Sub lsValidaEnvio()
If MsgBox("Deseja verificar as pendências e enviar por email?",
vbYesNo, "5W2H") = vbYes Then
lsEnviarAtrasos
End If
End Sub</span><span style="font-family: Georgia, 'Times New Roman',
'Bitstream Charter', Times, serif; line-height: 19px; white-space:
normal;"> </span>
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.

Você também pode gostar