Atendimento via WhatsApp Atendimento via WhatsApp

Blog Tecnológico

Excel 365: Anexo de imagem no e-mail de forma diferente VBA

Amauri Bekesius • 23 out 2024 • Microsoft Excel

Excel 365: Anexo de imagem no e-mail de forma diferente VBA

Iremos entrar em uma nova aventura com a utilização de códigos em Microsoft Visual Basic for Applications (VBA) aqui no Excel 365. Como citado em artigos anteriores, claro que devemos ter um pouco de conhecimento em programação e em lógica. Mas fiquem tranquilos pois a ideia é inovar a codificação sempre de uma forma simples e mais uma vez um detalhe singelo, porém, extremamente eficaz, ou seja, anexar ao corpo do e-mail um intervalo da nossa planilha (como se fosse uma imagem) Excel-365.

Na maioria das vezes anexamos um arquivo de imagem, a própria planilha ou um PDF para juntar-se ao corpo do e-mail

O desafio aqui é apenas selecionar um intervalo de células (inclusive com cores das células) e enviar além dos textos esse determinado intervalo. Portanto, vamos lá:

Passo 1:

Em uma tabela dinâmica juntamente com um determinado filtro, será vizualizado por exemplo as respectivas informações deste filtro nesta tabela dinâmica.

https://www.eng.com.br/assets/img/artigo/Excel-365-enviar-email-diferente-001.jpg
Neste instante seleciono a codificação em VBA e envio para as pessoas responsáveis. Com textos entre a imagem.

Passo 2:

Lembrando que para acessar a codificação em Microsoft Visual Basic for Applications (VBA) podemos realizar de 2 (duas) maneiras:

  1. Pressionando as teclas ALT + F11, ou
  2. Adicionando a guia Desenvolvedor através das Opções da guia Arquivo

Com o código abaixo, iremos detalhar e verificar o resultado.

https://www.eng.com.br/assets/img/artigo/Excel-365-enviar-email-diferente-002.jpg

Passo 3:

Vamos aos detalhes:

  1. Nome da Rotina: EnviarEmailComIntervalo
  2. Dimensionar 2 (duas) variáveis. Uma para Outlook e outra para e-mail

Dim OutlookApp As Object

Dim OutlookMail As Object

  1. Logo após as criações, ajustá-las para receberem as devidas informações

Set OutlookApp = CreateObject("Outlook.Application")

Set OutlookMail = OutlookApp.CreateItem(0)

  1. Selecionar a planilha para ter acesso aos e-maisl que irão receber a documentação

Worksheets("Emails").Select

  1. Dentro da variável ajustada para e-mail OutlookMail, desenvolvo: mostrar a tela do OutLook (display), o intervalo onde está o e-mail principal To e o intervalo do e-mail para enviar uma cópia CC, em seguida o assunto Subject

With OutlookMail

          .display

          .To = Range("A2").Value

          .CC = Range("A3").Value

         .Subject = "Teste de envio"

  1. Selecionar a planilha para ter acesso aos filtros da tabela dinâmica

Worksheets("DINAMICA").Select

  1. Instancio a propriedade do Outlook que retorna um objeto Inspector para exibir um item (A propriedade WordEditor é válida apenas se o método IsWordMail retornar True e a propriedade EditorType for olEditorWord).

With .GetInspector.WordEditor.Windows(1).Selection

  1. Neste item, deveremos ter situações repetitivas para Escrever um texto TypeText, pular linhas em branco TypeParagraph, negrito, cor da fonte

.TypeText "Prezados, Boa Tarde!"

.TypeParagraph

.TypeParagraph

.Font.Bold = True

.Font.Color = vbRed

  1. O auge da codificação é justamente a seleção (intervalo de células) que no momento do envio este intervalo será colocado no corpo do e-mail

ActiveSheet.Range("A5:H15").Copy

.Paste

Application.CutCopyMode = False

O restante da codificação será apenas para envio do email, limpeza das variáveis caso necessite novos envios e uma mensagem de conclusão.

.Send

Set OutlookMail = Nothing

Set OutlookApp = Nothing

MsgBox "e-Mail enviado com sucesso!", vbInformation, "COTY"

Agora é só testar e ver o resultado

https://www.eng.com.br/assets/img/artigo/Excel-365-enviar-email-diferente-003.jpg

Conclusão:

A situação acima requer a atenção em relação ao intervalo onde este será colocado no corpo do e-mail sem que antes deva salvar como imagem e depois anexar. Inclusive, caso as células estejam com cores, estas também irão no corpo do e-mail conforme imagem acima.

Podemos anexar qualquer tipo de arquivo, porém, fiz menção apenas selecionando um intervalo, facilitando ainda mais a codificação. Acho que o maior trabalho é verificar qual frase deverá alterar suas cores ou negrito ou itálico.

Gostou deste conteúdo?




 

 

Amauri Bekesius

Amauri Bekesius

Formado em Administração de Empresas com Pós Graduação em Engenharia de Software, Certificado pela Microsoft com o titulo de Microsoft Ofice Specialist, e com certificação em Excel 365.

Instrutor em tecnologias Excel e Power BI há mais de 15 anos.

ENG DTP & Multimídia - Logo

 

 

ENVIE SEU CONTATO e SEUS COMENTÁRIOS


LinkedIn da ENG DTP Multimídia
     Facebook da ENG DTP Multimídia     Instagram da ENG DTP Multimídia

 Jornad Graphic Design