Ir ao conteúdo

Posts recomendados

Postado

Boa noite meus caros!

Esse mês comecei a pesquisar sobre envio de email com vba, achei muito conteúdo sobre Outlook, mas sobre o Mozila ThunderBird ficou um pouco mais difícil, o problema que na empresa onde trabalho só usa o ThunderBird dai vem os desafios.

Achei esse cód:

 

 

Citação

Public Sub SendEmail()
Dim thund As String
Dim email As String
Dim cc As String
Dim bcc As String
Dim subj As String
Dim body As String

email = "test@test.com"
cc = "test@test.com"
bcc = "test@test.com"
subj = "Testing"
body = "Testing"

thund = "C:\Program Files (x86)\Mozilla Thunderbird\thunderbird.exe " & _
      "-compose " & """" & _
      "to='" & email & "'," & _
      "cc='" & cc & "'," & _
      "bcc='" & bcc & "'," & _
      "subject='" & subj & "'," & _
      "body='" & body & "'" & """"

 

Call Shell(thund, vbNormalFocus)

SendKeys "^+{ENTER}", True
End Sub

 

Ele funciona tranquilo! Eu alterei no meu caso o SendKeys "^+{ENTER}", True para SendKeys "^{ENTER}", True e ficou show!

Agora a dúvida eu gostaria de anexar uma parte da planilha direto no corpo do email tem como? Tipo Ctrl+C , Ctrl+v....

Capturar.JPG

Pasta1.xlsx

Postado

@fradseu eu testei a opção de copiar e colar, o intervalor da aba impressão no corpo do email mas formatação se altera no tamanho. 

Então deixei tambem a opção de copiar e colar como imagem, ai o tamanho fica proximo do real.

 

Veja se atende:

 

Public Sub sendEmail()
Dim thund      As String
Dim email      As String
Dim CC         As String
Dim BCC        As String
Dim subj       As String
Dim body       As String
Dim Attch      As String
Dim oRngToCopy As Range

email = "test@test.com"
CC = "test@test.com"
BCC = "test@test.com"
subj = "Testing"
body = "Testing"
Attch = ""

Set oRngToCopy = ThisWorkbook.Sheets("Impressão").Range("B2:Z52")

'  OPÇÃO 1 : COPIAR NO FORMATO DE IMAGEM
      oRngToCopy.CopyPicture xlScreen, xlBitmap
'  OPÇÃO 2 : COPIAR O INTERVALO
'    oRngToCopy.Copy

thund = "C:\Program Files (x86)\Mozilla Thunderbird\thunderbird.exe\thunderbird.exe " & _
      "-compose " & """" & _
      "to='" & email & "'," & _
      "cc='" & CC & "'," & _
      "bcc='" & BCC & "'," & _
      "subject='" & subj & "'," & _
      "message='" & Attch & "'," & _
      "body='" & body & "'" & """"
      
 ' ALTERE * ABAIXO O TEMPO DE ESPERA, SE NECESSARIO:
  
  Call Shell(thund, vbNormalFocus)
  Application.Wait (VBA.Now + VBA.TimeValue("0:00:09")) ' 9 seg.*

 VBA.SendKeys "^v", True '  cola na janela do corpo do email
 Application.Wait (VBA.Now + VBA.TimeValue("0:00:03")) ' 3 seg. *
 VBA.SendKeys "^{ENTER}", True

End Sub

inkgenkinnafbfld.thumb.png.fa90387839fd474906bb72de518c5c0b.png

  • Curtir 1
Postado

@Basole boa tarde!

Rapaz parabéns! ficou top! muito obrigado! fez exatamente como eu tinha imaginado kkk não sabia que o vba aceitava digitar o comando de atalhos tipo Ctrl+v dessa forma! Abriu mais minha mente!

Mais uma vez muito obrigado!

  • Curtir 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...