Enviar e-mail com planilha excel no corpo via VBA Parte 1 - Segundo Método
Вставка
- Опубліковано 15 вер 2024
- Segundo método de enviarmos um e-mail com tabela do excel no corpo via VBA.
Parte 1
Link Aula Anterior:
• Enviar e-mail com plan...
Link arquivo da Aula:
1drv.ms/x/s!Ao...
Jefferson, EXCELENTE videoaula. Era exatamente o que eu precisava. Muito obrigado!
Obrigado Jeferson, muito boa a vídeo aula!
Boa sacada a parte de alinhar a tabela para a esquerda, parabéns!
Bom dia, parabéns pelo conteúdo, gostei muito da sua explicação.
Estou tentando fazer um código onde eu consiga enviar múltiplos e-mails para com tabelas diferentes no corpo.
Até a parte do texto do e-mail que é padrão e diversos e-mail's eu consegui com êxito, porém essa flutuação da tabela que não consigo, mesmo sendo o mesmo sendo um filtro igual todo dia no exel.
Consegue me ajudar?
nossa, que vídeo nota 10!!!
Olá.
Excelente aula, uma das melhores que pesquisei.
Uma dúvida como faço para adicionar uma mensagem que seja automática quando o e-mail é enviado? Por exemplo quando a macro rodar aparecer uma mensagem "Enviado".
Grato pela atenção e ajuda.
No final da macro escreve: msgbox("Enviado!!") E pronto. Tem q ser antes do End Sub
@@kevincapobianco3533
Muiito obrigado, demorou um pouco a resposta, mas veio.
Top demais, testei aqui deu super certo.
Valeu !
@@MayconSantos é q eu usei a aula para uma coisa q precisava vi sua pergunta e como eu sabia a resposta eu respondi kkkk tmj
Jefferson, parabéns pelo vídeo! Tua didática é excelente!
Ainda tenho uma dúvida: estou com uma tabela que possuí uma imagem (arquivo do tipo PNG) que fica no canto superior da tabela. Ao utilizar o código que tu ensinou, tudo funciona perfeitamente e se eu tento abrir o arquivo html gerado, a imagem ainda está lá. Mas, no corpo do email, não é mais possível exibir a imagem. Existe algo que possa ser feito para a imagem ser carregada junto?
Mais uma vez, gostaria de parabenizá-lo pelo ótimo trabalho com essa aula!
Tentei utilizar o que tu ensinou na aula 2 sobre a assinatura, mas o nome da imagem gera uma parte com números de forma aleatória. Logo, não consigo fixa um endereço para colocar na função replace.
Estou comentando meu avanço aqui apra caso haja mais gente com o mesmo problema que eu. Espero que tu não sem importe.
Descobri o argumento DivID que resolve o problema do nome do arquivo de imagem com números aleatórios, mas por algum motivo que ainda não descobri, quando passo a tabela para o email, a imagem continua com a visualização impossibilitada. Sabe o que pode ser?
Olá Jefferson! Gostei muito desta solução. Parabéns! Tenho uma dúvida: da mesma forma que alteramos o alinhamento de "center" para "left", como fazemos para remover o espaço (como se fosse uma linha ou borda) que fica acima da tabela no corpo do e-mail, mas que aparece uma linha abaixo do texto? Em alguns lugares li que isso pode acontecer porque o todo o elemento tem um espaço de 20px entre a parte superior do navegador e a "div" e isso pode ser ajustado com uma propriedade do css chamada 'position: absolute". Obrigado!
Amigo, excelente vídeo, gostei demais, porém tenho uma dúvida e preciso muito de ajuda. Na função With em que é usado para criar o arquivo temporário vc limitou para copiar a planilha da coluna "A1:F14" porém eu coloquei uma função em que faço um filtro avançado para aí sim fazer a seleção para criar o arquivo temporário em HTML, então não posso limitar ele para apenas algumas células específica e sim selecionar os valores filtrados, vc consegue me ajudar como eu consigo colocar isso dentro da função With no lugar em q vc colocou a limitação da coluna A1 até a F14?
Iria me ajudar muito, estou pesquisando mas tá difícil achar por aí
Ola. posso ter mais de 1 modulo de envio de e-mail. Fiz um modulo que envia o email quando cadastro um novo item. Mas queria enviar outro e-mail quando eu der a saida do item
Jeferson Boa noite; Tudo bem?
No caso do anexo, ao invés de colocar o endereço dentro do código, consigo selecionar o arquivo com uma msg box?
EXCELENTE videoaula. mas tenho uma divida, nesta aula a tabela é determinada de A1:F14 e no caso em que uma tabela é aleatória, sujeita a filtros? (tabela com filtros em que a dimensão nao é constante?)
Apague o 14
E escreva: & ActiveSheet.Range("A1").End(-4121).Row
@@vbanapratica9481 Obrigada por responder tao rapido, entao o codigo ficaria algo assim?
With ActiveWorkbook.PublishObjects.Add(xlSourceRange, arqTemp, "Plan1", "A1" & ActiveSheet.Range("A1").End(-4121).Row, xlHtmlStatic)
@@Litabeth a função do ActiveSheet.Range("A1").End(-4121).Row é apenas verificar qual a última linha. Então na hora de passar o intervalo vc tem que colocar "A1:F" & ActiveSheet.Range("A1").End(-4121).Row
@@Litabeth out altere a coluna F para a coluna que atenda sua necessidade. Geralmente as colunas de uma tabela são fixas, apenas as linhas que alteram de quantidade
@@vbanapratica9481 Excelente conteúdo! Seria possível utilizar a mesma função apenas para valores visíveis? "A1:F" & ActiveSheet.Range("A1").End(-4121).Row
Gostaria de colocar no corpo do email , sempre a última linha preenchida de uma tabela! Como fazer?
Amigo boa noite.
Teria de montar um HTML de forma dinâmica e adicionar ao htmlBody. É um pouco complexo para tentar explicar por aqui. Se quiser mande um email para o canal vba.napratica@gmail.com com um modelo fictício da sua tabela que lhe respondo através de uma vídeo aula. Abraços.
@@vbanapratica9481
Você conseguiu a resposta, consegue me enviar o conteúdo de como escrever.
MUITO BOM MAS DIFICIL DE OUVIR
Tenho 2 duvidas:
1 como fazer este mesmo processo contendo um gráfico ???
2 como anexar essa mesma planilha em PDF???
Abraços
Bruno
Amigo boa noite.
Dúvida 1: nas versões anteriores do Excel era possível publicar apenas o gráfico em HTML, mas isso foi descontinuado (não lembro a partir de qual versão). Neste caso você terá que publicar a sheet inteira que contenha seu gráfico na função tabelaHtml. Dessa forma :
With ActiveWorkbook.PublishObjects.Add(xlSourceSheet, "caminhodoarquvo", "nomedasheet", "", xlHtmlStatic)
.Publish false
.AutoRepublish = false
End With
Dúvida 2: para salvar o arquivo em PDF basta adicionar : ActiveWorkbook.ExportAsFixedFormat xlTypePDF, "caminhoondesalvar"
Após isso basta adicionar no Attachments.Add "caminhodopdf".
Lembrando que para o PDF ser gerado corretamente vc tem que configurar na guia Layout da Página >
Dimensionar para ajustar > a largura deve ser > 1 página
Muito obrigado pelas dicas, vou tentar amanhã!
Sua didática é incrível, foi a única que consegui entender aqui no yourtube!
Valeu meu amigo
Não consegui dormir sem tentar hahaha
Não consegui, tá aí uma dica de próximos vídeo
Abraços
@@brunolobo_92 preparei uma aula