Notifications
Clear all

Macro para enviar e-mail automaticamente e oculto

10 Posts
3 Usuários
0 Reactions
12.8 K Visualizações
(@marcos0905)
Posts: 14
Eminent Member
Topic starter
 

Boa-tarde amigos, gostaria de uma ajuda de vocês, preciso configurar uma planilha excel, para enviar e-mail de alertas automaticamente, com relação a prazos(datas), do tipo se celula b1 for igual ou posterior que celula 1a(funçao hoje) enviar e-mail de alerta para email(fixo) com assunto (fixo.) Detalhe necessito que seja enviado somente um e-mail por dia,

Att
Marcos

 
Postado : 04/03/2013 11:15 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa noite!!

Vai encontrar bastante coisa aqui.
http://www.rondebruin.nl/sendmail.htm

att

 
Postado : 04/03/2013 5:26 pm
(@marcos0905)
Posts: 14
Eminent Member
Topic starter
 

Bom-dia Alexandre, obrigado por sua pronta resposta, mais infelizmente ainda não consegui ler/traduzir o site que me indicastes. Aceito outra indicações de leitura.
ATT
Marcos

 
Postado : 05/03/2013 4:36 am
(@wagner-morel-vidal-nobre)
Posts: 4063
Famed Member
 

Marcos0905,

Boa Tarde!

O código abaixo faz exatamente isso que você quer. No caso, estou supondo que a célula A1 contém a data atual e que na célula B1 está a data a ser verificada para o disparo do E-mail. Caso a data em B1 seja maior ou igual à data que está em A1 (conforme você menciona), a mensagem é disparada.

Sub EMail_Automático()
    '==========================================================
    'PARA REMESSA DE E-MAIL AUTOMÁTICO DE DENTRO DAS APLICAÇÕES
    '==========================================================

    Dim olApp As Object, olMail As Object
    If Range("B1").Value >= Range("a1").Value Then
        Set olApp = CreateObject("Outlook.Application")
        Set olMail = olApp.CreateItem(0)
    
        'olMail.From = "fulano@hotmail.com" 'Quem está enviando o e-mail. Pode deixar desabilitado. _
        O Outlook vai usar o usuário atualmente logado no correiio e enviar em nome deste.
        olMail.Subject = "Teste1" 'Campo Assunto
        olMail.Body = "Teste2" 'Campo referente a mensagem que se quer enviar
        olMail.To = "f046779@correio.intra.bnb" 'Endereços dos destinatários
        'olMail.cc = "F114170" 'Campo Com cópia
        'olMail.Attachments.Add "C:/CONFIG.SYS" 'Arquivo a inserir
        olMail.Send 'Envio direto. Se quiser ver primeiro o e-mail para depois enviar, substitua _
        esse comando por Display
        
        Set olApp = Nothing
        Set olMail = Nothing
    End If
End Sub
 
Postado : 05/03/2013 9:06 am
(@marcos0905)
Posts: 14
Eminent Member
Topic starter
 

Boa-tarde Wagner, me esqueci de comentar um detalhe importante, meu e-mail é o thunderbird.

 
Postado : 05/03/2013 10:20 am
(@wagner-morel-vidal-nobre)
Posts: 4063
Famed Member
 

Marcos,

Não sei exatamente como funciona esse e-mail thunderbird. Todavia, o código abaixo, também faz envio de e-mail, dispensando a utilização do Outlook. Ele utiliza o objeto CDO da microsoft e permite, inclusive, se desejar, setar quem está enviando a mensagem.

Veja se lhe atende.

Sub EMail()
    Dim msgf As String

    'Configurando os dados do E-mail
    Set objCDOSYSMail = CreateObject("CDO.Message")
    Set objCDOSYSCon = CreateObject("CDO.Configuration")
    objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "D001COR02"
    objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
    objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
    objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
    objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 30
    objCDOSYSCon.Fields.Update
    Set objCDOSYSMail.Configuration = objCDOSYSCon


    'Configurando o E-mail (Remetente, destinatário, com cópia, com cópia oculta, anexos, mensagem)

    'Informando quem enviará o E-mail
    objCDOSYSMail.From = "wagner_morel@bnb.gov.br"

    'Detinatários do E-mail
    objCDOSYSMail.To = "F046779@correio.intra.bnb"
            
    'Destinatários do campo Cc (Com Cópia)
    'objCDOSYSMail.Cc = "" 'Aqui entram os destinatários do campo Com Cópia (Cc)
    
    'Destinatários do campo cópia oculta (Campo Bcc) - Se for o caso
    'objCDOSYSMail.BCC = "" 'Aqui entram os destinatários do campo Com Cópia Oculta (Cco)
    

    'Informando o campo Assunto do E-mail
    objCDOSYSMail.Subject = "ESTE É UM TESTE DE ENVIO DE AUTOMÁTICO DE E-MAIL"

    'Se tiver anexo a enviar junto com o E-mail, informa-se aqui
    'objCDOSYSMail.AddAttachment (anexo) 'Para anexar arquivo

    'Informando qual é a mensagem a ser enviada
    msgf = "Digita-se aqui a mensagem a ser enviada"

    
    'Enviando a mensagem
    objCDOSYSMail.HTMLBody = msgf
    objCDOSYSMail.Send
    
    'Limpando a memória
    Set objCDOSYSMail = Nothing
    Set objCDOSYSCon = Nothing
    
    
End Sub
 
Postado : 05/03/2013 11:40 am
(@marcos0905)
Posts: 14
Eminent Member
Topic starter
 

Boa-tarde amigo, não estou conseguindo autoamtizar o envio automatico, vou anexar um exenpo, cfe, sua descrição e verifique por favor se estou fazendo algo errado.
Att
Marcos

 
Postado : 05/03/2013 2:10 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa noite!!

Leia as regras, os arquivos devem ser compactado!!!

Att

 
Postado : 05/03/2013 3:44 pm
(@marcos0905)
Posts: 14
Eminent Member
Topic starter
 

Boa-tarde amigo, não estou conseguindo autoamtizar o envio automatico, vou anexar um exenpo, cfe, sua descrição e verifique por favor se estou fazendo algo errado.
Att

 
Postado : 06/03/2013 4:28 am
(@wagner-morel-vidal-nobre)
Posts: 4063
Famed Member
 

Marcos0905,

Boa Noite!

Amigo, com excessão de algumas linhas de código extra que não havia necessidade no código que você colou em sua planilha (já retirei), não há nada de errado com o mesmo.

Todavia, é como já lhe fisse antes: Você vai ter que pesquisar na Internet ou então fechar esse tópico e abrir um outro, solicitando a colaboração dos demais usuários do fórum, no sentido de saber como é que se faz a configuração dos comandos (abaixo) de envio de mensagens pelo obejo CDO. Como também já mencionei, eu não sei como faz essas configurações. As linhas abaixo precisam ser configuradas de acordo com o tipo de correio que você utiliza:

        objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "D001COR02"
        objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
        objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
        objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
        objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 30

Veja o arquivo com as poucas modificações que fiz (exceto as configurações).

 
Postado : 06/03/2013 6:31 pm