Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Boa tarde.
Estou tendo uma situação que nem sei por onde começar. Tenho uma tabela gráfico (abaixo) que preciso enviar email para cada linha dela com alguns dados dessas tabela.
Exemplo:
email da linha 1:
'Caro Sr/a '&cliente&' o seu boleto com vcto "&venc&' no valor R$'&vlparcela&'com linha digitavel '&linhadigitavel&'ja pode ser pago'
Email: Caro Sr/a Geiza o seu boleto com vcto 10/01/2015 no valor R$1901,63 com linha digitavel 00190.000.....19163 ja pode ser pago.
Enviar um email para cada linha abaixo, o email a ser enviado é a da 1a coluna.
Sou novato, o meu qlikview é desktop. Apreciaria muito a atencao de voces.
OBRIGADO.
Alessandro tudo bem,
É o seu exemplo faz sucesso aqui comigo.
Ficou muito bacana. Mas como sempre tem alguém pede algo diferente.
Agora eles querem pdf enviado para cada email diferente.
Preciso de um norte.
Obrigado,
Vou esperar o exemplo do amigo.
Agnaldo,
este exemplo tem uma tabela com um campo. O conteudo deste campo sao e-mails. Mas poderia ser qualquer coisa. A macro faz um laço neste campo sendo um a um como se fosse selecionado e os dados somente relacionados a este filtro e enviado um e-mail. Da para fazer para cada gerente, representante, etc.....
Sobre a impressora PDF eu uso ou a PDFCreator ou da para usar a BullZip. A ultima da para eliminar algumas linhas da macro que verifica nome do arquivo e renomeia passando diretamente o nome do arquivo (eu sempre coloco o nome do destinatario, assim funciona como um log.....)
Espero que tenhas o norte.
Alessandro, Funcionou bacana. Mas preciso enviar para dois gerente diferente.
Existe como?
Abaixo o exemplo funcionando.
http://consultoriasoft.com.br/email.zip
Mas não estou conseguindo enviar para dois como o exemplo abaixo:
Gerente - RP01
Gerente2 - RP02
!
Bom dia.
Qual a regra? São e-mails fixos (sempre para os mesmos)? Ou dependendo do PDF vai para determinados Gerentes? Se for a segunda opção, na carga carrega um campo com mais e-mails separados por ;
AMF
É que no seu exemplo só existe um relatórios(Anexo)
Estou tentado criar 02 relatórios
Um para um gerente e outro gerente2.
Caso você coloque um exemplo com dois relatórios (anexos) Eu conseguiria entender.
Caso você tenha tempo Alessandro. Coloque 02 anexos para eu entender.
Obrigado Alessandro.
Alessandro,
Desculpe-me novamente.
Preciso inserir o "RP02", "Gerente2" neste laço (código)
Como faço?
Sub Envio()
Set TabelaEmails = ActiveDocument.Fields("Gerente").GetPossibleValues(1000)
For contEmail = 0 to TabelaEmails.Count - 1
ActiveDocument.Fields("Gerente").Select TabelaEmails.Item(contEmail).Text
ActiveDocument.PrintDocReport "RP01", "Gerente"
PrintReport()
ActiveDocument.GetApplication.Sleep 2000
Set filesys = Nothing
Set filesys = CreateObject("Scripting.FileSystemObject")
If filesys.FileExists("C:\tmp\Relatório Gerente - " & TabelaEmails.Item(contEmail).Text & ".pdf") then
filesys.DeleteFile "C:\tmp\Relatório Gerente - " & TabelaEmails.Item(contEmail).Text & ".pdf"
End If
ActiveDocument.GetApplication.Sleep 1000
Set filesys = Nothing
Set filesys = CreateObject("Scripting.FileSystemObject")
If filesys.FileExists("C:\tmp\QlikView Printing.pdf") then
filesys.MoveFile "C:\tmp\QlikView Printing.pdf", "C:\tmp\Relatório Gerente - " & TabelaEmails.Item(contEmail).Text & ".pdf"
End If
Alessandro bom dia,
Estou tentando inserir mais uma anexo no email
Mas está gerando os pdf certo.
Mas só está enviado apenas um anexo no email.
Alguma sugestão.
Abaixo o código que alterei.
O Código abaixo está funcionando.
Ele geras o pdf corretamente, Mas só gerar o email: "RP01" ,"Gerente"
Como faço para gerar também para o "RP02", "Gerente2"
Onde está errado a linha de código.
Alguma dica...
Estou tentando enviar dois anexo RP01 - Gerente - athenas1200@gmail.com
RP02 - Gerente2 - contato@consultoriasoft.com.br
Lendo os email:
*************************************************************************************************************************
LOAD * INLINE [
Gerente
];
LOAD * INLINE [
Gerente2
contato@consultoriasoft.com.br
];
*******************************************************************************************************************************
Codigo do Macro:
Sub Envio()
Set TabelaEmails = ActiveDocument.Fields("Gerente").GetPossibleValues(1000)
For contEmail = 0 to TabelaEmails.Count - 1
ActiveDocument.Fields("Gerente").Select TabelaEmails.Item(contEmail).Text
ActiveDocument.PrintDocReport "RP01", "Gerente"
PrintReport()
ActiveDocument.GetApplication.Sleep 2000
Set filesys = Nothing
Set filesys = CreateObject("Scripting.FileSystemObject")
If filesys.FileExists("C:\tmp\Relatório Gerente - " & TabelaEmails.Item(contEmail).Text & ".pdf") then
filesys.DeleteFile "C:\tmp\Relatório Gerente - " & TabelaEmails.Item(contEmail).Text & ".pdf"
End If
ActiveDocument.GetApplication.Sleep 1000
Set filesys = Nothing
Set filesys = CreateObject("Scripting.FileSystemObject")
If filesys.FileExists("C:\tmp\QlikView Printing.pdf") then
filesys.MoveFile "C:\tmp\QlikView Printing.pdf", "C:\tmp\Relatório Gerente - " & TabelaEmails.Item(contEmail).Text & ".pdf"
End If
ActiveDocument.GetApplication.Sleep 1000
Set TabelaEmails = ActiveDocument.Fields("Gerente2").GetPossibleValues(1000)
ActiveDocument.Fields("Gerente2").Select TabelaEmails.Item(contEmail).Text
ActiveDocument.PrintDocReport "RP02", "Gerente2"
PrintReport()
ActiveDocument.GetApplication.Sleep 2000
Set filesys = Nothing
Set filesys = CreateObject("Scripting.FileSystemObject")
If filesys.FileExists("C:\tmp\Relatório Gerente - " & TabelaEmails.Item(contEmail).Text & ".pdf") then
filesys.DeleteFile "C:\tmp\Relatório Gerente - " & TabelaEmails.Item(contEmail).Text & ".pdf"
End If
ActiveDocument.GetApplication.Sleep 1000
Set filesys = Nothing
Set filesys = CreateObject("Scripting.FileSystemObject")
If filesys.FileExists("C:\tmp\QlikView Printing.pdf") then
filesys.MoveFile "C:\tmp\QlikView Printing.pdf", "C:\tmp\Relatório Gerente - " & TabelaEmails.Item(contEmail).Text & ".pdf"
End If
ActiveDocument.GetApplication.Sleep 1000
vRepositorio = GetVariable("vRepositorio")
Porta = GetVariable("smtpPorta")
Server = GetVariable("smtpServer")
Usuario = GetVariable("smtpUser")
Senha = GetVariable("smtpPWD")
Origem = GetVariable("smtpOrigem")
Set objEmail = CreateObject("CDO.Message")
Set objConf = objEmail.Configuration
Set objFlds = objConf.Fields
With objFlds
'---------------------------------------------------------------------
.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = Server
if len(Usuario) > 0 then
.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = Usuario
.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = Senha
else
.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 0
end if
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = Porta
.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = False
.Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60
.Update
'---------------------------------------------------------------------
End With
Destinatarios = TabelaEmails.Item(contEmail).Text
'Destinatarios = "teste@teste.ind.br"
objEmail.To = Destinatarios
'objEmail.CC = "nn@mm.com.br"
objEmail.From = "teste@contalsoft.com.br"
objEmail.Subject = "Gerencia : " & TabelaEmails.Item(contEmail).Text
objEmail.HTMLBody = ""
objEmail.AddAttachment "C:\tmp\Relatório Gerente - " & TabelaEmails.Item(contEmail).Text & ".pdf"
objEmail.Send
Set filesys = CreateObject("Scripting.FileSystemObject")
If filesys.FileExists("C:\tmp\Relatório Gerente - " & TabelaEmails.Item(contEmail).Text & ".pdf") then
'filesys.DeleteFile "C:\tmp\Relatório Gerente - " & TabelaEmails.Item(contEmail).Text & ".pdf"
End If
ActiveDocument.GetApplication.Sleep 2000
Set filesys = Nothing
Next
ActiveDocument.Fields("Gerente","Gerente2").Clear ' Limpar Filtro por Email
End Sub
Podes disponibilizar um modelo para ajudar?
Corrigir ou melhorar codigo macro email
Alessandro,
Abrir um dia atrás. Para ver ser alguém me ajudaria o modelo está neste tópico