Notifications
Clear all

Enviar e-mail atendendo critérios

37 Posts
3 Usuários
0 Reactions
4,780 Visualizações
(@tiagogn)
Posts: 0
New Member
Topic starter
 

Pessoal,

Boa noite.

Poderiam me ajudar por favor?

Tenho uma planilha de controle de alguns documentos em que conto o tempo de retorno entre setores.

Na coluna U eu conto o tempo em horas e gostaria de que toda vez que o tempo fosse superior a 12:00 ( [hh]:mm ) ele enviasse um e-mail para alguns endereços (Posso ter mais de 10 emails).

Porém temos alguns critérios:

1) Isso só vai acontecer se na Coluna X o Status for "SIF" (Texto que é colocado nesta coluna). Os demais Status não precisam desse envio de e-mail.
2) Preciso colocar um assunto no e-mail (Assunto padrão)
3) Preciso colocar uma mensagem para ir no corpo do e-mail (Mensagem padrão)
4) Posso estabelecer 2 ou 3 horários para que essa rotina seja executada? Ex.: Isso iria ser feito as 12:00 e as 18:00 por exemplo.
5) Ele pode enviar direto o e-mail sem precisar ir para o outlook por exemplo.

Obs.: Neste mesmo código seria possível incluir algo que atualize os dados de 10 em 10 minutos por exemplo? Porque nesta contagem de tempo o usuário precisa fazer alguma alteração ou clicar no F9 para atualizar de acordo com a data e hora atual ( =AGORA() )

Conto com a ajuda de todos.

Muito obrigado.

Tiago Gonçalves

 
Postado : 29/07/2016 5:30 pm
(@engeel2014)
Posts: 207
Reputable Member
 

Tiago, esta macro possui uma instrução ( Application.OnTime ) que fica funcionando em loop, para atualização da planilha. P Acredito que no fechar da planilha tem que para a execução desta instrução. Talvez isso faça a planilha ser aberta novamente. Vou ver aqui e lhe retorno.

 
Postado : 09/08/2016 9:03 pm
(@tiagogn)
Posts: 0
New Member
Topic starter
 

Lucélio,

Boa noite.

Tudo bem? Você não chegou a responder a minha pergunta, na minha última mensagem, sobre ter que ficar com a planilha aberta na tela ou se podia deixar ela minimizada ou em segunda plano.

Hoje fiz um teste com 5 horários diferentes e TODAS as 5 vezes eu fiquei com o excel na tela aberto. Todas as 5 vezes eles gerou o e-mail. Será que pode ser isso mesmo?

Quanto a ficar abrindo depois de fechada... Hoje também aconteceu novamente... Ficou abrindo e eu fechava, não salvava e ela abria novamente.

Grande abraço. Fico no seu aguardo e agradeço desde já.

Tiago

 
Postado : 11/08/2016 5:53 pm
(@engeel2014)
Posts: 207
Reputable Member
 

Boa tarde Tiago, quanto a seu questionamento de que se a planilha estiver minimizada, a macro é executada normalmente. O fato de que a planilha está visível ou não não altera o funcionamento do aplicativo Excel. Fiz a inclusão do código que cancela a execução da atualização da planilha a cada i minuto e também cancela a execução do código que envia o e-mail. Acredito que estes códigos é que estão fazendo a planilha abrir sozinha, pois o método "Application.OnTime" precisa ser parado quando se fecha a planilha. Faça mais testes ai, acho que agora não deve acontecer o erro de a planilha abrir sozinha novamente. Quanto a ela estar minimizada não interfere na execução dos códigos, verifica melhor ai o que está ocorrendo.

 
Postado : 12/08/2016 9:06 am
(@tiagogn)
Posts: 0
New Member
Topic starter
 

Olá Lucélio,

Boa tarde.

Desculpe a demora. Fiquei ausente por problemas de saúde. Agora estou de volta. rs

Então ... Fiz alguns testes... Realmente com ela aberta tem funcionado bem, e estou conseguindo levar numa boa os testes.

Porém o grande problema tem sido a reabertura da planilha depois de fechada. Ela continua em loop, como você mesmo disse, e abre a planilha depois de fechada. Pelo visto está no código do atualiza_planilha que tem ocasionado o problema.

Achei na internet o código abaixo porém ele também tem dado o mesmo problema.

Sub Auto_Open()
Atualiza
End Sub
Sub Atualiza()
DownTime = Now + TimeValue("00:00:01")
Application.OnTime DownTime, "Atualiza"
Calculate
End Sub
Sub Auto_Close()
On Error Resume Next
Application.OnTime EarliestTime:=DownTime, Procedure:="Atualiza", Schedule:=False
End Sub

 
Postado : 19/08/2016 12:30 pm
(@engeel2014)
Posts: 207
Reputable Member
 

Tiago, só um detalhe que esqueci de te avisar. Delete todas as outras planilhas que tem o código para atualizar, pois elas interferem nas outras. Apague todas as outras pois elas não tem código para parar a execução da atualização. Depois mantenha somente a ultima planilha que te mandei.

 
Postado : 19/08/2016 3:19 pm
(@tiagogn)
Posts: 0
New Member
Topic starter
 

Lucélio,

Boa tarde.

Apenas para compartilhar contigo ... Lembra do erro que identifiquei que quando a planilha estava minimizada, não estava ativa, etc, ela acabava não enviando o e-mail?

Pois é... O erro continuou a acontecer e depois de algumas idéias acabei utilizando a linha abaixo antes da execução do código e FUNCIONOU !!! rss

Windows("NOME DA PLANILHA.xlsm").Activate

Sinceramente não sei se foi isso que resolveu porém depois disso tem funcionado. Inclusive utilizei para outras duas planilhas e não tem dado erro.

Muito obrigado pela sua ajuda. Agora já estou buscando solução para outros problemas com outros tópicos abertos. rs

Atenciosamente,

Tiago Gonçalves

 
Postado : 21/09/2016 2:17 pm
(@engeel2014)
Posts: 207
Reputable Member
 

Boa tarde Tiago, como havia te dito, aqui funcionou sem problemas quando a planilha está minimizada. Esta linha de codigo que você inseriu, faz com que a sua planilha, que esteja minimizada seja ativada e assim o codigo é executado. É isso ai cara, depois veja alguns videos no youtube sobre excel, assim é mais fácil aprender, e vai tentando ajudar no fórum. Quando ajudamos aguem aqui no fórum, ganamos muito mais pois aprendemos coisas novas sobre o Excel e VBA.

 
Postado : 21/09/2016 4:26 pm
Página 3 / 3