Macro para Enviar Email

Fórum para dúvidas sobre os fundamentos da linguagem de programação Visual Basic no contexto do VBA

Macro para Enviar Email

Mensagempor lucas.caetano » Seg Jul 23, 2012 4:39 pm

Boa tarde,

Primeiramente obrigo, pela atenção e competência nas respostas

Então, tenho uma planinha que possui 20 abas, numeradas de 1 a 20.
Gostaria de saber se existe a possibilidade de uma macro que fosse de Aba a Aba
Selecionasse por exemplo as celulas A1: j80 de cada aba, e uma de cada vez, copiasse e colasse no Outlook
E enviasse por email uma a uma, o email e o Assunto é o mesmo para todas.

O autor desta mensagem lucas.caetano foi agradecido por:
leandromendonza (Ter Jul 24, 2012 9:44 am)
Qualificação: 20%
 
lucas.caetano
 
Mensagens: 20
Registrado em: Seg Abr 09, 2012 4:06 pm
Agradecimentos dados: 5 vezes
Agradecimentos recebidos: 1 vez

Re: Macro para Enviar Email

Mensagempor Fabio Trindade » Qua Jul 25, 2012 11:47 am

Bom dia, lucas.caetano.

Eu estava olhando o FORUM como de costume e vi sua duvida.

A pouco tempo tambem tinha a mesma duvida porem era com uma unica aba da planilha que tinha informações nas celulas, o codigo seleciona a celulas determinadas copia e cola no corpo de um e-mail do Outlook e envia para os destinatarios definidos no codigo. As adaptaçoes para uso do codigo vai variar com sua necessiade !

Segue Código:
Código: Selecionar todos
Sub Send_Range()
       
       'Seleciona o intervalo de células na planilha ativa.
       ActiveSheet.Range("A2:C20").Select
       
       ' Mostrar o envelope na ActiveWorkbook.
       ActiveWorkbook.EnvelopeVisible = False
       
       ' Isso é definir o campo opcional introdução acrescenta
       ' algum texto do cabeçalho para o corpo de e-mail. Ele também define
       ' as linhas Para e Assunto. Finalmente a mensagem
       ' é enviado
       With ActiveSheet.MailEnvelope
          .Introduction = "Bom dia Srs(ª)." & vbCr& "Segue Quantidade para teste" ' Texto Corpo do e-mail
          .Item.To = "teste@teste.com.br" ' Para quem sera enviado
          .Item.Cc = "teste@teste.com.br.com.br" ' Com copia
          .Item.Subject = "Quantidade de Atendimento" ' Assunto do e-mail
          .Item.Send
       End With
   
End Sub


Espero ter ajudado ...

O autor desta mensagem Fabio Trindade foi agradecido por:
lucas.caetano (Sex Jul 27, 2012 8:47 am)
Qualificação: 20%
 
Avatar do usuário
Fabio Trindade
 
Mensagens: 63
Registrado em: Dom Abr 24, 2011 4:07 pm
Agradecimentos dados: 4 vezes
Agradecimentos recebidos: 5 vezes

Re: Macro para Enviar Email

Mensagempor Jairo2010 » Dom Ago 19, 2012 8:42 am

Olá Fábio Trindade e feras em VBA.

O meu problema acredito que seje simples para vocês, mais para mim tem tirado o meu sono. Bom vamos lá. Vamos ver se consigo ajuda. Tenho um cadastro, uso o listview para listar os cadastros efetuados. Nesta listiview uso 3 (Três) tipos de filtros. Tenho um código para envio de e-mail e o mesmo está funcionando normal. Mas o meu problema está na listview, não consigo fazer referencia para ela ir no campo corpo da msg. Obs... Uso o Outlook para envio via form. Então fiz o seguinte. Fiz uma referencia para uma plan da listview, então quando a listview carrega essa certa plan tbm carrega, quando filtro, essa certa plan tbm filtra. Os campos Para, Cópia, Assunto, Msg todos estão funcionando. Mais a certa plan quando coloco como refência só vai a ("A2"). Já coloquei referencia ("A2:M21") que no caso seria o que eu quero que vá, mas só vai a ("A2"). Vou anexar o código.

O form salva e a listview pega como referência o que tá sendo salvo e carrega.

De já quero agradeçer. Obrigado!


Código: Selecionar todos
On Error Resume Next

Texto = Worksheets("DADOS_EMAIL").Range("A2").Select        ''DADOS_EMAIL é a plan que sendo usada como referência...

Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(olMailItem)
With OutMail

.To = ComboBox2.Text & ";" & ComboBox3.Text
.CC = ComboBox5.Text
.Subject = TextBox60
.Body = TextBox1 & Texto

Application.DisplayAlerts = False

'  ActiveWorkbook.SaveAs ("c:\teste.xls")
'  Application.DisplayAlerts = True
' .Attachments.Add Anexo.Caption
' .Attachments.Add ActiveWorkbook.
'No Excel 97 use ActiveWorkbook.Path & "\" & ActiveWorkbook.Name
.Send 'ou para enviar direto sem interface use .Send

End With

Set OutMail = Nothing
Set OutApp = Nothing
Jairo2010
 
Mensagens: 9
Registrado em: Ter Jul 03, 2012 8:19 pm
Localização: Imperatriz-MA
Agradecimentos dados: 0 vez
Agradecimentos recebidos: 0 vez

Re: Macro para Enviar Email

Mensagempor danielrcom » Ter Ago 21, 2012 1:42 pm

Fabio Trindade escreveu:Bom dia, lucas.caetano.

Eu estava olhando o FORUM como de costume e vi sua duvida.

A pouco tempo tambem tinha a mesma duvida porem era com uma unica aba da planilha que tinha informações nas celulas, o codigo seleciona a celulas determinadas copia e cola no corpo de um e-mail do Outlook e envia para os destinatarios definidos no codigo. As adaptaçoes para uso do codigo vai variar com sua necessiade !

Segue Código:
Código: Selecionar todos
Sub Send_Range()
       
       'Seleciona o intervalo de células na planilha ativa.
       ActiveSheet.Range("A2:C20").Select
       
       ' Mostrar o envelope na ActiveWorkbook.
       ActiveWorkbook.EnvelopeVisible = False
       
       ' Isso é definir o campo opcional introdução acrescenta
       ' algum texto do cabeçalho para o corpo de e-mail. Ele também define
       ' as linhas Para e Assunto. Finalmente a mensagem
       ' é enviado
       With ActiveSheet.MailEnvelope
          .Introduction = "Bom dia Srs(ª)." & vbCr& "Segue Quantidade para teste" ' Texto Corpo do e-mail
          .Item.To = "teste@teste.com.br" ' Para quem sera enviado
          .Item.Cc = "teste@teste.com.br.com.br" ' Com copia
          .Item.Subject = "Quantidade de Atendimento" ' Assunto do e-mail
          .Item.Send
       End With
   
End Sub


Espero ter ajudado ...


Fabio,

Tem como adaptar esse código usando apenas classe de e-mail?

Digo isso pois algumas máquinas não têm Outlook instalado ou configurado.
danielrcom
 
Mensagens: 10
Registrado em: Qua Mai 09, 2012 8:36 am
Agradecimentos dados: 1 vez
Agradecimentos recebidos: 1 vez

Anúncios


Voltar para VBA Básico

Quem está online

Usuários navegando neste fórum: Bing [Bot], Google [Bot] e 1 visitante