Página 1 de 1

Macro Enviar Planilha em Anexo por E-mail

Enviado: 24 Set 2018 às 10:54
por AJPozza
Pessoal, bom dia!
Estou tentado formular uma Macro que copia alguns gráficos do Excel no corpo do e-mail e além disso anexa a mesma planilha para enviar no mesmo e-mail, a parte de copiar os gráficos eu consegui, porém não estou conseguindo anexar a planilha, segue abaixo a macro:


Sub enviar_corpo_email()

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

ActiveWorkbook.EnvelopeVisible = True

With ActiveSheet.MailEnvelope
.Introduction = ""
.Item.To = "e-mail@e-mail.com.br"
.Item.CC = "teste@teste.com.br" & ";" & "teste1@teste1.com.br"
.Item.Subject = "Assunto"
.Item.Send
End With

End Sub

Re: Macro Enviar Planilha em Anexo por E-mail

Enviado: 24 Set 2018 às 12:40
por osvaldomp
AJPozza escreveu:... porém não estou conseguindo anexar a planilha ...
Se você quer enviar o arquivo Excel (e não a planilha ativa) como anexo, então acrescente a segunda linha abaixo.
Código: Selecionar todos
...
.Item.Subject = "Assunto"
.Item.attachments.Add ActiveWorkbook.FullName
...
Porém, retorne se você quer enviar somente a planilha ativa como anexo, nesse caso será preciso alterar o código para criar uma cópia da planilha como um arquivo separado para poder enviar.

Re: Macro Enviar Planilha em Anexo por E-mail

Enviado: 24 Set 2018 às 13:38
por AJPozza
osvaldomp escreveu:
AJPozza escreveu:... porém não estou conseguindo anexar a planilha ...
Se você quer enviar o arquivo Excel (e não a planilha ativa) como anexo, então acrescente a segunda linha abaixo.
Código: Selecionar todos
...
.Item.Subject = "Assunto"
.Item.attachments.Add ActiveWorkbook.FullName
...
Porém, retorne se você quer enviar somente a planilha ativa como anexo, nesse caso será preciso alterar o código para criar uma cópia da planilha como um arquivo separado para poder enviar.
Opa... já me ajudou! Anexou o arquivo inteiro!!

Existe a possibilidade de encaminhar apenas uma aba com o nome "BASE" ??

Re: Macro Enviar Planilha em Anexo por E-mail

Enviado: 25 Set 2018 às 14:47
por osvaldomp
Altere no código a extensão do arquivo se necessário.
Código: Selecionar todos
Sub EmailIntervaloEPlanilha()
 Dim wb As Workbook, kwb As String
  Sheets("BASE").Copy
  Set wb = ActiveWorkbook
  wb.SaveAs ThisWorkbook.Path & "\CÓPIA BASE.xlsx"
  kwb = wb.FullName
  wb.Close
  ActiveSheet.Range("N3:AE42").Select
  ActiveWorkbook.EnvelopeVisible = True
   With ActiveSheet.MailEnvelope
    .Introduction = ""
    .Item.To = "teste@teste.com.br"
    .Item.CC = "teste@teste.com.br"
    .Item.Subject = "Assunto"
    On Error Resume Next
    .Item.Attachments(1).Delete
    On Error GoTo 0
    .Item.Attachments.Add kwb
    .Item.Send
   End With
  Kill kwb
End Sub
dica - para responder clique em + Resposta localizado abaixo da última postagem, só clique em Responder com citação se necessário

Re: Macro Enviar Planilha em Anexo por E-mail

Enviado: 26 Set 2018 às 15:51
por AJPozza
Rapaaazzz.... era exatamente isso que eu queria!!!

Surgiu uma nova ideia na minha cabeça... nessa base que será enviada por e-mail, tem vários nomes de funcionários e eu vou mandar e-mail individualmente...

Na planilha tem um lugar que eu seleciono o nome e faz procv na lista de e-mail e vai ser enviado o e-mail para essa pessoa (a base e os gráficos), porém ao invés de enviar a base completa, teria como a macro reconhecer esse nome que eu seleciono na lista suspensa, separar na base e enviar apenas os itens dessa pessoa?