VBA para enviar email automático

Espaço para você sugerir, criticar, reclamar e tudo mais! Este é o 0800 do nosso fórum!

VBA para enviar email automático

Mensagempor Diego » Ter Jun 11, 2019 12:50 pm

Olá pessoal, sou novo aqui e gostaria de saber se alguém pode me ajudar.
Tenho uma planilha com uma macro para enviar e-mail no Outlook quando uma célula de uma coluna indica que está "vencido", porém tenho que clicar em "F2+enter" para rodar a macro.
Alguém sabe se há alguma forma de esta macro rodar automaticamente sem a necessidade de "F2+enter"?

Código: Selecionar todos
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 Plan1.Cells(linha, 6) = "VENCIDO" Then
            texto = "Prezado(a) " & Plan1.Cells(linha, 1) & "," & vbCrLf & vbCrLf & _
                    "A O.S. " & Plan1.Cells(linha, 7) & " aberta em " & _
                    Plan1.Cells(linha, 2) & "vencido." & vbCrLf & _
                    " Veja informações abaixo:" & vbCrLf & _
                    "    Status: " & Plan1.Cells(linha, 13) & vbCrLf & _
                    "    Ação tomada: " & Plan1.Cells(linha, 5) & vbCrLf & vbCrLf & _
                    "Atenciosamente," & vbCrLf & _
                    "Help Desk"
        End If

        With OutMail
            .to = Plan1.Cells(linha, 1)
            .CC = ""
            .BCC = ""
            .Subject = "Resposta ação imediata da Auditoria de Manufatura - Interna com prazo vencido"
            .Body = "Prezado(a) " & Plan1.Cells(linha, 8) & "," & vbCrLf & vbCrLf & _
                    "A ação da Auditoria Interna. " & Plan1.Cells(linha, 7) & " aberta em " & _
                    Plan1.Cells(linha, 2) & vbCrLf & _
                    " Veja informações abaixo:" & vbCrLf & _
                    "    Status: " & Plan1.Cells(linha, 13) & vbCrLf & _
                    "    Ação tomada: " & Plan1.Cells(linha, 5) & vbCrLf & vbCrLf & _
                    "Enviar se necessário novo prazo para o e-mail:xxxxx@xxxx.xxx.xx" & vbCrLf & vbCrLf & _
                    "Atenciosamente," & vbCrLf & _
                    "Equipe XXXX"
            .Send   '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
End Sub
Editado pela última vez por wagner em Ter Jun 11, 2019 1:04 pm, em um total de 1 vez.
Razão: Códigos VBA devem ser inseridos com a TAG CODE existente no início da caixa de mensagens.
Diego
Membro
Membro
 
Mensagens: 1
Registrado em: Seg Jun 10, 2019 2:01 pm
Has thanked: 0 time
Have thanks: 0 time

{ SO_SELECT }

Re: VBA para enviar email automático

Mensagempor wagner » Ter Jun 11, 2019 1:04 pm

Diego,

Boa tarde!

Seja muito bem vindo ao fórum.

DICAS para aproveitar ao máximo o fórum e sempre manter o mesmo de forma organizada, sugiro ler os tópico da regras abaixo:
viewtopic.php?f=7&t=16757
viewtopic.php?f=7&t=203
viewtopic.php?f=7&t=7903
viewtopic.php?f=7&t=3841
viewtopic.php?f=7&t=12600
viewtopic.php?f=7&t=3371

Algumas solicitações especiais que pedimos, por gentileza, ficar atento:
1 - Não inserir no titulo de suas postagens expressões como Help, Ajuda, etc. O título deve ser um resumo da sua necessidade para que outras pessoas que tenham a mesma dúvida possam efetuar a pesquisa e achar como foi resolvido.
2 - Não insira em suas mensagens frases todas escritas em letras maiúsculas. Isso, na Internet, é compreendido como gritos e muitos usuários sequer respondem somente por esse fato!
3 - Insira sempre um arquivo exemplo compactado com .ZIP aqui mesmo no fórum. Existe, logo abaixo da caixa de mensagens, uma aba chamada "Adicionar um anexo" para essa finalidade. O arquivo exemplo deve ser pequeno, com apenas 5 linhas no máximo, compactado com .ZIP e ter o mesmo layout (nome do arquivo, nome das abas/guias/folhas, mesma linha/coluna onde os dados se iniciam) do arquivo original. Links de arquivos enviados para sites de compartilhamento de arquivos, muitas vezes são bloqueados pelas empresas, por conterem muitos vírus. Alguns usuários que acessam o fórum a partir de empresas não conseguem baixar tais arquivos.
4 - Não utilize a ferramenta CITAR para inserir o inteiro teor das mensagens que lhe são encaminhadas como resposta. Citações, se estritamente necessárias ao entendimento da mensagem que você quer enviar, devem ser apenas de pequenos trechos das mensagens.
5 - Se for postar códigos VBA aqui no fórum, utilize a ferramenta CODE localizada logo no início da caixa de mensagens (quinto botão da esquerda para a direita). As linhas de código devem ficar entre as palavras "CODE e /CODE".
6 - Agradeça sempre às pessoas que lhe responderam e às mensagens que atenderam a necessidade de sua demanda. Esse agradecimento deve ser clicando na mãozinha que fica localizada ao lado da ferramenta CITAR. Lembre-se: o fórum é gratuito e esse é o único incentivo para as pessoas que prestam ajuda. Você pode agradecer a quantos usuários quiser.
7 - O título ou o texto das mensagens postadas não devem ser escritos todo em letras maiúsculas. Na internet, tudo escrito em letras maiúsculas é interpretado como gritos e muitos usuários sequer olham para esse tipo de mensagem.
8 - Não Utilize o Botão CITAR para efetuar as suas respostas. Para fazer isso use apenas o Botão RESPONDER.

Quanto a sua demanda, confesso que não entendi bem qual é a sua necessidade pois, analisando o seu código, não há nenhum motivo para que a mesma só seja disparada "Quando você clicar em F2 mais ENTER". Essa macro sempre será executada quando você entrar com o valor VENCIDO na coluna F, qualquer linha e teclar ENTER.
Se a resposta foi útil para você, por gentileza, Amigo, clique na mãozinha ao lado direito da ferramenta CITAR, no canto superior direito.

Atenciosamente
Wagner Morel
Avatar do usuário
wagner
Moderador
Moderador
 
Mensagens: 5331
Registrado em: Sáb Out 20, 2012 12:49 pm
Localização: Fortaleza - CE
Has thanked: 94 times
Have thanks: 2275 times


Voltar para :: Sugestões, Críticas, Dúvidas e reclamações

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante