Alerta de Vencimentos com Envio de E-mail
HTML-код
- Опубликовано: 15 окт 2024
- O tema deste vídeo foi escolhido, a partir da dúvida do colega Eduardo Duda.
O mesmo solicitou uma ajuda para desenvolver uma regras para envio de e-mail, no momento em que um determinado vencimento fosse avaliado e detectado.
O intuito do colega era de compartilhar a solução, para que outros que tivessem a mesma dúvida que ele, possuíssem uma fonte de consulta/pesquisa sobre o tema.
Por isso, esse vídeo eu dedico ao Eduardo Duda, pela iniciativa em querer ajudar a comunidade de Excel, que temos no Brasil e no mundo.
Excelente aula!! Só uma pergunta, tem como fazer essa rotina ser executada sem a planilha ser aberta?
Que bacana, Mikel. Parabéns. Muito útil. Que você seja imensamente abençoado, por estar nos abençoando com tão importante conhecimento.
Mikel, parabéns pelo vídeo. Certamente será muito útil e as possibilidades de adaptações são infinitas.
Aguardando pelo próximo conteúdo.
Senhor Jonas, quanto tempo.
Fico muito feliz que tenha gostado do conteúdo.
Logo termos mais alguns vídeos no canal.
Abraços e excelente domingo.
Obrigado mestre Mikel por mais essa contribuição para a comunidade....
E parabéns por (além do conteúdo) lembrar das boas práticas em programação....
Meu amigo Giovani, eu que agradeço o apoio de sempre.
Estou tentando melhorar a cada dia. Vamos que vamos. Abraços.
Mikel, boa noite!
Assistir esta aula, alerta de vencimento com envio de e-mail, mas, não domino o VBA, tentei fazer esta programação mas não conseguir. Você consegue me ajudar?
Tenho uma planilha de controle de contratos. Gostaria de inserir alertas para dois e-mails, sendo que em 03 janelas 90 dias, 60 dias e com 30 dias alerta a cada 5 dias.
Os dois e-mail deve receberem em todas as janelas.
Mais uma excelente aula, Mikel. Quero muito ver a aula sobre parâmetro de uma seguinte função que você citou durante a aula. Parabéns!
Fala Eddie, tudo bem?
Cara, que bom que gostou, fico feliz.
Vou confessar pra você uma coisa, depois que eu aprendi realmente a utilizar esses parâmetros, minha vida de desenvolvimento mudou.
Acredito que vocês irão gostar muito.
tudo, graças a Deus!
Acredito que realmente entender esses parâmetros facilitará e muito. Por isso não vejo a hora de ver sua aula sobre o assunto. E mais uma vez, PARABÉNS!
Muito bom Mikel! Estou precisando de uma ajuda na confecção de uma planilha em que gera-se etiquetas padronizadas através de dados fornecidos por um formulário que o usuário preenche. Obrigado
Wallace, muito obrigado pelo feedback.
Sobre sua dúvida, me adiciona no skype (user: mikelsf), ai posso ver se tenho condições de lhe ajudar.
Abraços e excelente final de semana.
também gostaria de saber se tem como esse Alerta rodar mesmo com a planilha fechada
Fiz o processo corretamente, mas deu erro na parte " Call EnvioEmail(.Cells(ilins, 9).Text, iDias, .Cells(ilins, 6).Text, .Cells(iLin, 5).Text) " Erro em tempo de execução 1004
@Wesley V, boa noite.
Olha, o erro 1004 tem várias origens. Sem entender exatamente como esta a estrutura da planilha, não tem como te responder o que pode estar ocorrendo.
A planilha também esta com o mesmo formato? A posição das colunas e os dados?
Talvez possa ser algo nesse sentido que esteja dando erro.
Faça novos testes, verificando o layout da planilha e, se continuar dando erros, pode chamar novamente.
Abraços e excelente semana.
Boa noite!
É possível criar uma regra para enviar o e-mail sem precisar abrir o Excel?
Por exemplo a cada 5 dias ele faz uma verificação e envia o e-mail?
@Marcelo, boa noite.
No vídeo, foi utilizado o VBA para fazer esse procedimento. Neste caso, o VBA é 100% dependente de algum dos aplicativos do Office, ou seja, precisam esta sendo executados, para que a rotina funcione.
O que se pode fazer, é desenvolver uma solução que atenda esses mesmos requisitos, mas utilizando uma outra base de programação. Exemplos: VBScript, Python, C++, C#, VB.Net, VBClassic entre outras opções.
Espero ter esclarecido sua dúvida. Abraços e obrigado pelo comentário.
@@MikelSFraga muito obrigado! Você poderia encaminhar a planilha com os códigos?
marcelo_aluisio@hotmail.com
Parabéns Mikel pelo conteúdo.
Ao aplicar a programação VBA em minha planilha apresentou o erro Call EnvioEmail", "não é opcional".
Poderia ajudar a interpretar e corrigir ?
Grato.
@Francisco, bom dia.
Primeiramente, obrigado pelo feedback.
Bem, pelo erro apresentado, acredito que o problema seja algum "argumento/parâmetro" não mencionado na chamada da função EnviarEmail(). O código original de criação desta função, seria essa abaixo:
Private Sub EnviarEmail(ByVal sEmail As String, ByVal iDay As Integer, ByVal sCourse As String)
- sEmail: endereço de e-mail que será enviada a mensagem;
- iDay: o número de dias restante para a renovação do treinamento;
- sCourse: o nome do curso que esta vencendo.
A mensagem de erro "não é opcional" , se refere a um desses "parâmetros" que não foi apresentado na chamada da função.
Como pode ver, esses são "parâmetros" específicos para o exemplo apresentado no vídeo e todos são obrigatórios, ou seja, precisam ser informado para sua chamada, pois tem alguma participação na execução do código.
Caso esteja utilizando para outros fins, é necessário realizar alguma alteração/manutenção no código, para lhe ajudar na tarefa.
Espero ter esclarecido a dúvida.
Tenha um excelente final de semana e forte abraço.
Bom dia Mikel.
Sua explicação foi ótima, mas não consegui aplicar.
Gostaria de enviar minha planilha onde apliquei a string do VBA que não funcionou, a fim de me orientar sobre o erro.
Mikel, tem como programar para que o envio seja automático sem ter que necessariamente entrar na planilha?
Boa noite Mikel!
nesse código teria como o programa fazer o envio do e-mail pelo aplicativo Email?
e só substituir o Outlook pelo Email?
e uma ultima dúvida, o macro sempre vai enviar o email quando abrir o excel?
desde já agradeço abração!
Mikel, só agora que vi, provavelmente deletei sem saber, poderia reenviar novamente?Obrigado!!!
Norival, bom dia.
Acabei de reenviar o e-mail.
Quaisquer dúvidas, a disposição.
Parabéns por mais esta excelente vídeo-aula e compartilhamento de conhecimento, Mikel. Ótimo assunto e didática. Audio e vídeo com excelente qualidade desta vez. Talvez poderia melhor ainda mais a experiência do usuário se a fonte do vbe fosse aumentada, ou se você fizesse uso de algum recurso de zoom, como o app zoomit.
Para complemento deste assunto, poderia fazer um vídeo ensinando a colocar a assinatura do e-mail na mensagem a ser disparada pelo Outlook. Tem pouquinho material em vídeo sobre este aspecto/recurso. Poderia ainda ensinar a incluir anexos, algo comum na rotina dos usuários. Estas são as minhas sugestões para fururas video-aulas neste mesmo tema.
Grande abraço, Fábio.
Fábio, muito obrigado pelo feedback.
Bem, sobre o zoom, não utilizei pois já havia modificado o tamanho da fonte. Alterei de tamanho 9 para 18, ou seja, o dobro do tamanho. Se mesmo assim ficou a desejar, é bom saber, pois achei que ajudaria na visualização.
Sobre os temas, são interessantes sim. Estou querendo abordar outros aplicativos do Office, além do Excel. Acho que suas sugestões são excelentes. Vou adicionar ao meu cronograma e ver quando melhor se encaixa.
No mais, muito obrigado por tudo e excelente domingo.
Boa tarde, primeiramente excelente o Vídeo, eu copiei todo o código, ele executa sem nenhum erro, porém não está emitindo nenhum e-mail. Coloquei meu e-mail para testar porém não recebo nada. Podes me ajudar ?
@Puff_Gdoodle, boa noite / bom dia.
Você esta com o Outlook configurado em sua máquina, com uma conta de e-mail? É necessário, para que não ocorra problemas no envio.
Outro ponto que me ocorreu agora, foi a possibilidade da linha de código para realização do envio, esteja comentada. Procure no código um comando conforme abaixo:
'.Send (veja se esta linha esta na cor verde)
Se o código acima estiver verde (comentada), remova o apóstrofo no início da linha.
Se as dicas acima não resolverem, envie outra mensagem com mais detalhes do que esta ocorrendo, ok.
Abraços e boa sorte.
Ótimo vídeo!!!
Poderia Deixar o código na descrição,ajudariaaaaa
roberto suguimoto, boa tarde.
Desculpa não ter respondido antes, mas tenho entrado pouco em meu canal.
Gostei muito da sua sugestão. Porém, não vou colocar o código, mas sim um link para download dos mesmos, no meu repositório do Mega.nz, One Drive ou GoogleDrive.
Estou organizando algumas coisas, para retornar a gravação de vídeos. Por esse motivo, primeiro vou organizar minhas coisas e, na sequencia, já vou disponibilizando os links de anexos dos vídeos já gravados anteriormente.
Muito obrigado pelo feedback e tenha um excelente final de semana.
Mikel, muito bom o vídeo. Parabéns. Estou com uma dúvida: Como limitar o envio único diário? Por exemplo: Se eu abrir a planilha 3 vezes no dia, será executada a rotina 3 vezes e os colaboradores irão receber 3 vezes o e-mail. Teríamos que acrescentar 1 nova coluna do último envio e gravar a data?
Eu vou fazer umas adaptações para várias necessidades que eu tenho e eu não tinha pensado nisso. Acredito que se criar uma variavel booleana que controle se já teve envio naquele determinado dia resolva o problema.
Fausto Ferreira e Jonas Cruz, boa noite.
Na verdade, seria algo parecido com o que o Jonas disse, mas não variável booleana.
De uma forma bem simples, defina um local, tipo uma célula, que ficará armazenada a última data em que foi feito a verificação de forma efetiva, por exemplo, uma planConfig na célula B1.
Na rotina que faz a chamada, faremos a adequação de um If, da seguinte forma:
Sub Auto_Open
If VBA.CDate(planConfig.Range("B1").Text) VBA.Date
planConfig.Range("B1").Value = VBA.Date
Call Alerta
End If
End Sub
Considerando que na célula esteja a data do dia 14/07/2018, data de ontem, quando ocorreu a última verificação. Assim que a plan for aberta, será verificada que a data de ontem é diferente da data de Hoje (VBA.Date) e a rotina interna será executada.
Primeira coisa a ser feita, atualizar a data da planilha para 15/07/2018 e, na sequência, chamar a rotina de alerta. Dessa forma, você cria uma regra para que a chamada seja feita apenas uma vez durante o dia.
Essa é uma das possibilidades de se fazer essa condição.
Espero que tenha sido bem claro. Abraço a todos e excelente início de semana.
Mikel S Fraga , entendi a sua explicação. Realmente desta forma irá executar somente uma vez no dia. Muito obrigado.
Olá, professor! Consegui executar seu código, porém, estou com uma dúvida, na minha planilha, eu tenho mais de uma coluna de vencimento de documentos. Como faço para receber o alerta de vencimento para cada coluna q tenho com data de validade de documento ?
@Tainá, boa noite. Conseguiu resolver?
Bem, caso não tenha conseguido, o teste em que define o número de dias do código original, terá que ser realizada para cada data (coluna de vencimento) que possuir na sua coluna.
Na regra, também terá que definir qual data será mandatória, pois não adianta ter duas datas, onde uma esta vencida e a outra não, mas referentes a etapas diferentes do processo em questão.
Como não conheço sua planilha e não sei qual análise esta sendo realizada nesse documento, não consigo dar mais detalhes sobre o que pode ser feito para adaptar esse código.
Caso ainda esteja com dúvidas, pode entrar em contato.
Abraços!!!
Obrigado por compartilhar!
Obrigado a você por estar acompanhando. Espero que goste dos próximos conteúdos que estamos preparando.
Abraços e excelente domingo.
em te procurei faz tempo tipo to aprendendo agora quem indicou seu nome foi o marcos rodello
Boa Mikel !!!
Valeu Capinha.
Estou tentando repassar o que adquiri de conhecimento para outras pessoas.
Obrigado pelo feedback!!
Muito bom mesmo! Like, inscrito e sininho ativado!
Muito obrigado pelo feedback Ivan.
Espero que continue nos acompanhando.
Abraços e excelente domingo.
Mano que incrível..
Boa noite Mike, primeiro agradecer pelo dinamismo e abertura ao aprendizado, parabéns. Mike, estou necessitando de um projeto praticamente idêntico a esse postado, todavia desenvolvi com base no seu ensinamento mas no teste esta dando erro " Call EnvioEmail", "não é opcional". não sou programador e por isso me enrosquei nesse ponto, poderia me ajudar, se possível enviar o arquivo também ajudaria, roger190479@gmail.com.
@Rogério Messias da silva, bom dia.
Meu amigo, primeiro agradecer a inscrição e a mensagem.
Sobre o envio do arquivo, não posso enviá-lo.
Como mencionando no vídeo, esse foi um modelo de um amigo que pediu ajuda. Mas, o que posso fazer, é lhe passar o código VBA para realizar o envio do e-mail.
Espero que isso já ajude e obrigado mais uma vez.
Excelente aula, porém não possuo conhecimento em Vba. Tentei reproduzir o código sem sucesso, informa propriedade inválida, em fim, poderia me enviar seu código ou a planilha modelo? celio.lm.rosa@gmail.com
Célio Rosa, bom dia.
Obrigado pelo feedback do vídeo. Ajuda muito os comentários que vocês fazem.
Já enviei o código, para o email informado.
Abraços e bons estudos.
Boa tarde Mikel, seria possível o envio da planilha pra estudo dos códigos , particularmente não consegui enxergar os códigos. Se possível envie pelo meu email junior_cattarina@yahoo.com.br. abraços.
@Junior Cattarina, boa tarde.
Desculpe não ter respondido sua mensagem antes, mas estava de férias e voltei as atividades do trabalho esta semana.
Então, como mencionado no vídeo, o modelo da planilha é de um terceiro, que permitiu seu uso apenas, por isso não posso lhe passar a planilha. Porém, se ajudar, estarei lhe passando o código no e-mail informado. Tudo bem por você?
Como ainda estou me organizando, inclusive pra uma tentativa de voltar a gravar alguns vídeos, devo lhe enviar o código até o final de semana.
No mais, obrigado pelos comentários e a sugestão de aumentar a fonte, para que seja fácil ver todo o código, tanto pelo computador, como pelo celular.
No mais, forte abraço e sucesso.
OU PLANLHA
Prezado Mikel, Seria possível lhe enviar um email de uma planilha para Dúvidas. Se sim por favor entrar em contato enfranca@gmail.com. Muito obrigado por sua aula e disponibilidade.
@Emerson, boa noite.
Obrigado pelo feedback sobre o vídeo.
Já encaminhei o código do vídeo para o email informado.
Tenha uma excelente semana.
Olá Mike, boa tarde. Excelente aula, meus parabéns. Por gentileza poderia me passar o código via e-mail? Obrigado! guilhekruger@gmail.com
Guilherme, bom dia.
Primeiro, quero agradecer os comentários.
Acabei de lhe enviar o código no email informado.
Quaisquer dúvidas, é só chamar.
Excelente final de semana.
Top esse projeto no excel.
Parabéns.
Poderia compartilhar a planilha ?
Eduardoenarjara@gmail.com
bom dia ! Mikel, ótima aula! consegue me enviar o cód coordenacao.sp@mlocacoes.com.br
@Cligen Vidal, boa tarde.
O código já foi enviado pelo e-mail informado.
Obrigado pelo feedback e tenha uma excelente semana.
Boa tarde excelente vídeo , sanou muitas dúvidas.
Poderia por favor me enviar esse cód ou planilha ?
everton.costa@usd.ind.br
Boa noite @Everton, tudo bem?
Inicialmente, desculpe a demora na resposta, mas estive afastado do canal por questões pessoais.
Fico muito feliz em saber que o vídeo ajudou no esclarecimento de dúvidas. Muito obrigado pelo feedback.
Alias, já enviei o código via e-mail, ok.
Abraços e excelente semana.
Olá, Mikael, boa tarde!
Tudo bem?
Parabéns, excelente aula.
Daria para substituir o Outlook pelo WhatsApp?
Poderia me mandar esse código por e-mail?
tet3226@gmail.com
Desde já muito obrigado.
@Thiago, boa noite.
Desculpe a demora na resposta, mas fiquei meio afastado do canal por questões pessoais. Já enviei o arquivo para o e-mail informado.
Sobre seu questionamento, não é possível utilizando esse código, mas existem outras formas de se conseguir isso.
Acredito que seja possível localizar conteúdo sobre essa automação na internet.
Muito obrigado pelo feedback e excelente semana.
Olá boa noite ainda consegue mandar esse código por email? washingthon26@gmail.com.
Ótima explicação
Obrigado
quando eu faço a verificação ele me retorna o erro "Erro em tempo de execução '6': Estouro" na "iDias = Plan1.Cells(iLin, 10).Value - VBA.Date()", e quando eu jogo "? iDias = Plan1.Cells(iLin, 10).Value - VBA.Date()" verificação imediata ele so me retorna falso e não um valor, pode me ajudar?
consegui resolver