Skip to main content
Announcements
Qlik Connect 2024! Seize endless possibilities! LEARN MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

ENVIAR EMAIL COM DADOS DE UMA TABELA GRÁFICO

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.

Capturarqlik.JPG

Labels (3)
38 Replies
afurtado
Partner Ambassador/MVP
Partner Ambassador/MVP

e agora criar um botao para disparar o email

2015-10-03 22_38_38.jpg

2015-10-03 22_39_03.jpg

2015-10-03 22_39_39.jpg

Se clicar o botao vai enviar para cada registro no inline  (no script colocado no CTRL E   e que deve ser colocado um email de teste). 

O modelo que mandei estava testado bastando colocar os parametros da conta de email e questao de permissao da macro.

furtado@farolbi.com.br
Not applicable
Author

Alessandro segui os passos e toda vez que clico no botão ele abre para Editar o Modulo (macro).

afurtado
Partner Ambassador/MVP
Partner Ambassador/MVP

Ramires,

se esta abrindo a macro é porque tem erro.   Muda a sua senha/dados do e-mail e disponibiliza o modelo para eu descobrir o erro e te mando a correção.....

furtado@farolbi.com.br
Not applicable
Author

Alessandro esta em anexo. Valeu.

afurtado
Partner Ambassador/MVP
Partner Ambassador/MVP

esta com senha para abrir o modelo

furtado@farolbi.com.br
Not applicable
Author

Sorry Alessandro, segue:

usuario: xxxxxx

pwd: xxxxxxxx

afurtado
Partner Ambassador/MVP
Partner Ambassador/MVP

na macro faltava um campo para substituir o "Titulo" que estava na macro. Este campo tem que ser um campo unico que a cada um deste sera disparado o email.  Eu coloquei  NUPARCELA , mas deveria ser um campo com a juncao do NUTITULO e NUPARCELA, ou seja, unico.

function GetVariable(varName)

        Dim v

        set v = ActiveDocument.Variables(varName)

        GetVariable = v.GetContent.String

end function

Sub Envio()

  Set TabelaEmails = ActiveDocument.Fields("NUPARCELA").GetPossibleValues(1000)

  For contEmail = 0 to TabelaEmails.Count - 1

   ActiveDocument.Fields("NUPARCELA").Select TabelaEmails.Item(contEmail).Text

  

   ActiveDocument.GetApplication.Sleep 1000

  

   Porta         = GetVariable("smtpPorta")

   Server        = GetVariable("smtpServer")

   Usuario       = GetVariable("smtpUser")

   Senha         = GetVariable("smtpPWD")

   Origem        = GetVariable("smtpOrigem")

  

   Destinatario  = "ramires@konsulter.com.br" 'GetVariable("vDestinatario")

   Data          = GetVariable("vDataVencimento")

   Valor         = GetVariable("vValor")

   Titulo        = GetVariable("vTitulo")

   Linha         = GetVariable("vLinha")

  

   'msgbox Destinatario

  

   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

   objEmail.To       = Destinatario

   objEmail.From     = Origem

   objEmail.Subject  = "Pagamento Titulo : " & Titulo & " com vencimento em " & Data & " no valor de R$ " & Valor & chr(10) & " Linha Digitavel " & Linha

   objEmail.HTMLBody = "Pagamento Titulo : " & Titulo & " com vencimento em " & Data & " no valor de R$ " & Valor & chr(10) & " Linha Digitavel " & Linha

   objEmail.Send

  

   ActiveDocument.GetApplication.Sleep 1000

  Next

  ActiveDocument.Fields("NUPARCELA").Clear

End Sub

furtado@farolbi.com.br
afurtado
Partner Ambassador/MVP
Partner Ambassador/MVP

Criei também uma nova variável   vLinha que tem a linha digitável.

Observar também que as variáveis tem que ser adaptadas ao seu modelo, portanto as variáveis de valor, data,etc... tem que ter os campos do seu modelo.

2015-10-04 11_01_41.jpg

2015-10-04 11_01_32.jpg

furtado@farolbi.com.br
Not applicable
Author

Oi Alessandro, desculpe responder somente agora. Estive fora o dia todo.

Ele deu erro de "Falha de conexão do transporte com o servidor"

Se puder me ajudar, sei que ja estou abusando. Mas eu agradeço.

Capturarqlik2.JPG

afurtado
Partner Ambassador/MVP
Partner Ambassador/MVP

Ramires,

a porta nao é 587.   Muda para 465 que vai funcionar.  Nao precisa colocar o = na frente.

furtado@farolbi.com.br