Ir ao conteúdo
  • Cadastre-se

VBA Enviar varios emails Excel


Ir à solução Resolvido por Wendell Menezes,

Posts recomendados

Marcus,

 

Para enviar os e-mails com assinatura eu faço o seguinte. Crio um e-mail em branco, deixo o texto padrão escrito no corpo dele e salvo na mesma pasta que está a planilha com a macro. Feito isso eu escrevo o código de forma que a macro use esse template para gerar e enviar os e-mails. O código ficaria assim:

Sub Send_Emails()Dim Folder As String, Recipient As String, Recipient2 As StringDim FSO As ObjectDim db As DAO.DatabaseDim rs As DAO.Recordset, rs2 As DAO.RecordsetDim c As LongDim OA As Object, OM As ObjectApplication.DisplayAlerts = FalseFolder = "C:\Users\marcur09\Desktop\A\"Set FSO = CreateObject("Scripting.FileSystemObject")Set db = OpenDatabase(ThisWorkbook.FullName, False, True, "Excel 8.0;HDR=Yes;")Set rs = db.OpenRecordset("SELECT DISTINCT [Fornecedor Agrupado] FROM [Plan1$]")Set OA = CreateObject("Outlook.Application")For Each File In FSO.GetFolder(Folder).Files    Kill FileNextWhile Not rs.EOF    Set rs2 = db.OpenRecordset("SELECT * FROM [Plan1$] WHERE [Fornecedor Agrupado]='" & rs(0) & "'")    Workbooks.Add        For c = 0 To rs2.Fields.Count - 1            Cells(1, c + 1) = rs2.Fields(c).Name        Next    Range("A2").CopyFromRecordset rs2    Range("A:A").TextToColumns    Range("A:A").NumberFormat = "dd/mm/yyyy"    Range("P:P").NumberFormat = "dd/mm/yyyy"    Range("A:AZ").EntireColumn.AutoFit    ActiveWorkbook.Close True, Folder & rs(0)    Set OM = OA.CreateItemFromTemplate(ThisWorkbook.Path & "\Template.msg")        With OM            Recipient = db.OpenRecordset("SELECT [E-Mail] FROM [banco_dados$] WHERE [Fornecedor]='" & rs(0) & "'")(0)            Recipient2 = db.OpenRecordset("SELECT [Cc] FROM [banco_dados$] WHERE [Fornecedor]='" & rs(0) & "'")(0)            .To = Recipient            .CC = Recipient2            .Subject = "Follow-Up - Lista de Pedidos Emitidos"            .Attachments.Add Folder & rs(0) & ".xlsx"            .Display        End With    rs.MoveNextWendEnd Sub

Segue também o template já com o seu texto padrão.

Boa Wendell! Funcionou direitinho!

 

Muito obrigado!!!!!

Link para o comentário
Compartilhar em outros sites

  • 3 meses depois...

Wendell e pessoal.

 

Surgiu um outro problema. Se eu ao invés de enviar e-mail para os fornecedores, eu quiser salvar o arquivo (separado por fornecedor) em uma pasta no Sharepoint. Existe essa possibilidade?

Cada fornecedor teria sua pasta.

 

Por exemplo, 

 

tenho uma lista completa com varios fornecedores, quero separar essa lista e, por exemplo, criar um arquivo da FG e exportar para a pasta da FG no Sharepoint. O arquivo do fornecedor Abecom na pasta Abecom e por ai vai.

 

Obrigado!!

Link para o comentário
Compartilhar em outros sites

  • 1 ano depois...

Marcus,

Tenho que fazer uma planilha semelhante a sua.. tenho uma lista de pagamentos efetuados a vários fornecedores, quero separar a lista de cada fornecedor por aba, e enviar a lista por email para cada pessoa responsável do fornecedor.
Não sou expert em VBA, mas se você me mandar o modelo em que conseguiu fazer, vai me ajudar bastante. Abraços.

 

Link para o comentário
Compartilhar em outros sites

  • 1 ano depois...

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...