Amauri Bekesius • 23 out 2024 • Microsoft Excel
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.
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:
Com o código abaixo, iremos detalhar e verificar o resultado.
Passo 3:
Vamos aos detalhes:
Dim OutlookApp As Object
Dim OutlookMail As Object
Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(0)
Worksheets("Emails").Select
With OutlookMail
.display
.To = Range("A2").Value
.CC = Range("A3").Value
.Subject = "Teste de envio"
Worksheets("DINAMICA").Select
With .GetInspector.WordEditor.Windows(1).Selection
.TypeText "Prezados, Boa Tarde!"
.TypeParagraph
.TypeParagraph
.Font.Bold = True
.Font.Color = vbRed
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
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.