Página 1 de 1

Enviar conteúdo do excel direto para o outlook

Enviado: 30 Dez 2019 às 09:11
por danilov
Bom dia, meus amigos!

Eu tenho uma planilha em Excel para fazer pedidos para a loja que trabalho.
Eu gostaria de selecionar algumas linhas e colunas e apertar o botão para que aquelas linhas e colunas que eu selecionei, apareça no corpo do e-mail do Outlook. Juntamente com esse conteúdo que estará no corpo do e-mail, eu queria colocar uma mensagem padrão, ficando assim:

Assunto do e-mail: Pedido (ARTONI)

Corpo do e-mail:

Bom dia!

Por favor, coloque o pedido para nós:

--CONTEÚDO DO EXCEL--

Aguardo a cópia do pedido... obrigado!


Estou enviando em anexo o print como tem que ser, para um melhor esclarecimento.

Alguém saberia como seria o código para essa situação?

Obrigado!!!

Re: Enviar conteúdo do excel direto para o outlook

Enviado: 30 Dez 2019 às 14:54
por WagnerMorel
danilov,

Boa tarde!

Anexo, segue um pequeno exemplo (não é meu e foi pego no site SaberExcel) que faz exatamente isso que você está precisando: Enviar uma parte da planilha no corpo do e-mail.

Estude-o e adapte às suas necessidades.

Re: Enviar conteúdo do excel direto para o outlook

Enviado: 30 Dez 2019 às 16:15
por osvaldomp
Experimente:
Código: Selecionar todos
Sub Botão12_Clique()
 Application.ScreenUpdating = False
 Application.DisplayAlerts = False
 On Error GoTo fnlz
 ActiveSheet.Range("B2:L16").SpecialCells(xlCellTypeVisible).Copy
 Sheets.Add
 With ActiveSheet
  .Paste
  .UsedRange.Select
  .Columns.AutoFit
 End With
 ActiveWorkbook.EnvelopeVisible = True
  With ActiveSheet.MailEnvelope
   .Introduction = "Bom dia!" & vbLf & "Blá blá blá"
   .Item.To = "teste@teste.com"
   '.Item.CC = "teste@teste.com.br"
   .Item.Subject = "Pedido X"
   .Item.Send
  End With
 ActiveSheet.Delete
fnlz:
 Application.DisplayAlerts = True
 Application.ScreenUpdating = True
End Sub
obs.
1. altere no código os itens: Introduction, Item.To, Item.CC e Item.Subject
2. antes de rodar o código oculte também a coluna K (que está vazia)
3. no método acima me parece que não é possível adicionar texto abaixo da imagem no corpo da mensagem, para contornar ou inclua o texto no item Introduction ou insira o texto nas células abaixo da tabela a ser enviada e altere no código o novo intervalo a ser enviado.

Enviar conteúdo do excel direto para o outlook

Enviado: 31 Dez 2019 às 10:59
por danilov
Olá meu amigo, bom dia!
O código funcionou legal, mas eu sou obrigado a inserir um e-mail para enviar direto.
Como faço para que ao enviar, abra o e-mail do outlook para que eu possa preencher o e-mail manual no próprio Microsoft Outlook?
No caso, não enviaria automaticamente, só iria criar um novo e-mail e preencher essas informações, aí caso eu queira inserir alguma informação adicional, e o e-mail, faço manual.
osvaldomp escreveu:Experimente:
Código: Selecionar todos
Sub Botão12_Clique()
 Application.ScreenUpdating = False
 Application.DisplayAlerts = False
 On Error GoTo fnlz
 ActiveSheet.Range("B2:L16").SpecialCells(xlCellTypeVisible).Copy
 Sheets.Add
 With ActiveSheet
  .Paste
  .UsedRange.Select
  .Columns.AutoFit
 End With
 ActiveWorkbook.EnvelopeVisible = True
  With ActiveSheet.MailEnvelope
   .Introduction = "Bom dia!" & vbLf & "Blá blá blá"
   .Item.To = "teste@teste.com"
   '.Item.CC = "teste@teste.com.br"
   .Item.Subject = "Pedido X"
   .Item.Send
  End With
 ActiveSheet.Delete
fnlz:
 Application.DisplayAlerts = True
 Application.ScreenUpdating = True
End Sub
obs.
1. altere no código os itens: Introduction, Item.To, Item.CC e Item.Subject
2. antes de rodar o código oculte também a coluna K (que está vazia)
3. no método acima me parece que não é possível adicionar texto abaixo da imagem no corpo da mensagem, para contornar ou inclua o texto no item Introduction ou insira o texto nas células abaixo da tabela a ser enviada e altere no código o novo intervalo a ser enviado.

Re: Enviar conteúdo do excel direto para o outlook

Enviado: 01 Jan 2020 às 19:27
por osvaldomp
danilov escreveu: No caso, não enviaria automaticamente, só iria criar um novo e-mail e preencher essas informações, aí caso eu queira inserir alguma informação adicional, e o e-mail, faço manual.
Não faz sentido interromper a macro, que é um procedimento automatizado, com o fim de editar manualmente a mensagem. Faça toda a preparação manual antes de rodar a macro.
Por exemplo, coloque o endereço do destinatário em W1 e substitua a linha de comando conforme abaixo (altere a célula se desejar).
Ainda, é possível incrementar o código para enviar mensagens individualizadas a múltiplos destinatários, via preenchimento manual de células, sem editar o código e sem editar as mensagens.

substitua ~~~> .Item.To = "teste@teste.com"
por ~~~> .Item.To = [W1]

dica - para responder clique em +Resposta, só clique em Responder com citação se necessário

Re: Enviar conteúdo do excel direto para o outlook

Enviado: 02 Jan 2020 às 07:50
por danilov
Entendi, vou fazer esse teste, obrigado!