Logo Hardware.com.br
Yulhin
Yulhin Membro Junior Registrado
70 Mensagens 19 Curtidas

[Resolvido] Problema com macro Excel para envio de e-mail Outlook

#1 Por Yulhin 31/01/2018 - 16:58
Galera, beleza tudo bem?

Trabalho em uma empresa na qual utilizo bastante o excel para criar gráficos de controles, indicadores e afins, hoje estou usando uma macro bem simples para apenas pegar estes gráficos e enviar a x emails de pessoas selecionadas para receberem na empresa, porém precisei incluir mais gráficos e no envio deste email, mesmo o Range da Macro estando selecionada corretamente, os gráficos saem cortados no email enviado do Outlook, alguém sabe se a macro teria um limite de range de envio ou seria algum bug? Abaixo Macro usada:

*OBS meus gráficos estão da célula B2 até a célula P110, porém no email enviado pela Macro é recebido de B2 : 92, tudo abaixo desse limite sai cortado.

Sub enviar_corpo_email2()

Range("B1 : 110&quot.Select

Selection.Copy

Selection.CopyPicture Appearance:=xlScreen, Format:=xlBitmap

Sheets("Envio&quot.Activate

Range("A1&quot.Select

ActiveSheet.Paste


ActiveWorkbook.EnvelopeVisible = True

With ActiveSheet.MailEnvelope

.Introduction = ""

.Item.to = "xxxx@xxxx.com.br;xxxx@xxxx.com.br"

.Item.Subject = "PAINEL DIÁRIO - RECEITA - EBTIDA - KM VAZIO - AGREGADOS -2018"


.Item.Send

End With

End Sub
Master_Irineu
Master_Irine... Membro Junior Registrado
62 Mensagens 10 Curtidas
#3 Por Master_Irine...
31/01/2018 - 17:29
Olá....
tenta esta macro por favor!!

Sub enviar_corpo_email()

' Seleciona o intervalo de células a serem enviadas por email.
ActiveSheet.Range("A1:B12&quot.Select

ActiveWorkbook.EnvelopeVisible = True

With ActiveSheet.MailEnvelope
.Introduction = ""
.Item.To = "SeuEmail@exemplo.com"
.Item.Subject = "Título Assunto"
.Item.Send
End With
End Sub


Veja se atende sua demanda!!

Boa Sorte!!
"Irineu, você não sabe de Excel e nem Eu!!"
Yulhin
Yulhin Membro Junior Registrado
70 Mensagens 19 Curtidas
#4 Por Yulhin
31/01/2018 - 17:41
Master_Irineu disse:
Olá....
tenta esta macro por favor!!

Sub enviar_corpo_email()

' Seleciona o intervalo de células a serem enviadas por email.
ActiveSheet.Range("A1:B12").Select

ActiveWorkbook.EnvelopeVisible = True

With ActiveSheet.MailEnvelope
.Introduction = ""
.Item.To = "[EMAIL]SeuEmail@exemplo.com[/EMAIL]"
.Item.Subject = "Título Assunto"
.Item.Send
End With
End Sub


Veja se atende sua demanda!!

Boa Sorte!!


Olá, quase deu certo meu caro, agora ele ao invés de cortar na P92 cortou um pouco mais abaixo tipo na P98, será que pode ser algum limite de envio de tamanho ou algo do tipo?
Yulhin
Yulhin Membro Junior Registrado
70 Mensagens 19 Curtidas
#8 Por Yulhin
01/02/2018 - 09:43
Master_Irineu disse:
e o que você vai fazer??
diminuir as tabelas ou separa-las??


To pensando em ou diminuir o tamanho dos gráficos ou estender o tamanho para os lados, ao invés de pegar um range menor de largura, pegar maior de largura assim consigo enviar todas no mesmo email, mas isso de ultimo caso, antes vou dar mais uma caçada, quem sabe tem uma macro de esperança ainda que de certo kkk.
Yulhin
Yulhin Membro Junior Registrado
70 Mensagens 19 Curtidas
#9 Por Yulhin
21/02/2018 - 17:10
Consegui, após pesquisar muito achei uma macro parecida que apenas reduziu um passo do que a minha já fazia, macro abaixo para caso alguém venha a ter o mesmo problema:

Sub envio_de_painel_diário()

' Select the range of cells on the active worksheet.
ActiveSheet.Range("[incluir a sua range de dados]&quot.Select

' Show the envelope on the ActiveWorkbook.
ActiveWorkbook.EnvelopeVisible = True

' Set the optional introduction field thats adds
' some header text to the email body. It also sets
' the To and Subject lines. Finally the message
' is sent.
With ActiveSheet.MailEnvelope
.Introduction = "[incluir uma intro se quiser]"
.Item.To = "[incluir emails do(s) destinatários, separar por ;]"
.Item.Subject = "[incluir título]"
.Item.Send
End With
End Sub
© 1999-2024 Hardware.com.br. Todos os direitos reservados.
Imagem do Modal