Qlik Community

Qlik Brasil

Group community for Brazil users. discussion only in Portuguese.

Highlighted
Not applicable

Enviar email com confirmação e no final mostrar quantidade de email enviado

Bom dia Pessoal.

Tenho um script que envia email. Na hora de clicar no enviar email, gostaria que ele pedisse uma confirmação antes e no final do envio que mostrasse uma msg de quantidade de email enviado.

Agradeço a ajuda.

function GetVariable(varName)
Dim v
set v = ActiveDocument.Variables(varName)
GetVariable = v.GetContent.String
end function

Sub Envio()
Set TabelaEmails = ActiveDocument.Fields("NUFONE").GetPossibleValues(1000)
For contEmail = 0 to TabelaEmails.Count - 1
ActiveDocument.Fields("NUFONE").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 = "joaoc.ramires@gmail.com"
'Destinatario = GetVariable("vDestinatario")
Data = GetVariable("vDataVencimento")
Valor = GetVariable("vValor")
Titulo = GetVariable("vTitulo")
Linha = GetVariable("vLinha")
Mensagem = GetVariable("vMensagem")
Nome = GetVariable("vNome")

'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") = True
.Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60
.Update
'---------------------------------------------------------------------
End With
objEmail.To = Destinatario
objEmail.From = Origem
objEmail.Subject = "KONSULTER : Sr(a) "&Nome&" - "&Mensagem

objEmail.Send

ActiveDocument.GetApplication.Sleep 1000
Next
ActiveDocument.Fields("NUFONE").Clear
End Sub

Tags (1)
1 Solution

Accepted Solutions
MVP
MVP

Re: Enviar email com confirmação e no final mostrar quantidade de email enviado

teoricamente

alterar na parte final

objEmail.Send


vQtde = vQtde + 1

ActiveDocument.GetApplication.Sleep 1000

Next

ActiveDocument.Fields("NUFONE").Clear


msgbox vQtde


End Sub

5 Replies
MVP
MVP

Re: Enviar email com confirmação e no final mostrar quantidade de email enviado

teoricamente

alterar na parte final

objEmail.Send


vQtde = vQtde + 1

ActiveDocument.GetApplication.Sleep 1000

Next

ActiveDocument.Fields("NUFONE").Clear


msgbox vQtde


End Sub

Not applicable

Re: Enviar email com confirmação e no final mostrar quantidade de email enviado

Alesandro funcionou a msg de quantidade de email enviados. Obrigado, de novo.

E a questão de confirmar o envio, tem como fazer?

Porque ele fica muito vulnerável, qualquer um pode clicar no botão enviar sem querer.

MVP
MVP

Re: Enviar email com confirmação e no final mostrar quantidade de email enviado

Podes colocar uma condicional no botão para somente 1 usuário ou mesmo se tiver determinadas condições, tipo

Determinado usuário e 1 mês selecionado e 1 ano selecionado.

AMF

Re: Enviar email com confirmação e no final mostrar quantidade de email enviado

A mensagem de confirmação pode ser feita dessa maneira:

confirm_mail = MsgBox ("Esta opção enviará e-mail(s). Deseja Prosseguir?", vbYesNo + 4096, "Aviso" )

if confirm_mail = 6 Then

Msgbox "Enviando!!!!",4096

end if

Not applicable

Re: Enviar email com confirmação e no final mostrar quantidade de email enviado

Valeu Yuri. Funcionou. Obrigado