Skip to main content
Announcements
Join us at Qlik Connect for 3 magical days of learning, networking,and inspiration! REGISTER TODAY and save!
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Box para digitar uma mensagem qualquer

Pessoal como faço para criar uma caixa onde possa digitar uma mensagem antes de enviar por email?

Tenho a tabela abaixo, com vários campos, gostaria de antes de clicar no botão ENVIAR EMAIL eu possa digitar a mensagem que quero que vá no email, selecionando alguns campos. Exemplo abaixo na imagem.

O meu Qlikview é Desktop (free), se puderem enviar no formato que eu possa enxergar, agradeço.

SMSMARKETING.JPG

O meu script de enviar email, ele funciona com a msg fixa que coloquei. Agora queria ter a opção de digitar a msg.

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"
'Destinatario = 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") = True
.Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60
.Update
'---------------------------------------------------------------------
End With
objEmail.To = Destinatario
objEmail.From = Origem
' objEmail.Subject = "Caro "&NMCLIENTE&"pague sua parcela de vcto "&Data&",R$"&Valor&chr(10)&" com cod.de barras " & Linha
objEmail.HTMLBody = "Caro "&NMCLIENTE&"pague sua parcela de vcto "&Data&",R$"&Valor&chr(10)&" com cod.de barras " & Linha
objEmail.Send

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

Labels (2)
1 Solution

Accepted Solutions
afurtado
Partner Ambassador/MVP
Partner Ambassador/MVP

Criar uma variavel vMensagem e colocar em um objeto CAIXA DE ENTRADA .

Na macro pegar o conteudo dela (junto com as outras linhas que pegam os dados das variaveis)

Mensagem       = GetVariable("vMensagem ")

e na linha


objEmail.HTMLBody = "Caro "&NMCLIENTE&"pague sua parcela de vcto "&Data&",R$"&Valor&chr(10)&" com cod.de barras " & Linha


fazer


objEmail.HTMLBody = "Caro "&NMCLIENTE&"pague sua parcela de vcto "&Data&",R$"&Valor&chr(10)&" com cod.de barras " & Linha & chr(10) & Mensagem




Acho que funciona.

furtado@farolbi.com.br

View solution in original post

7 Replies
afurtado
Partner Ambassador/MVP
Partner Ambassador/MVP

Criar uma variavel vMensagem e colocar em um objeto CAIXA DE ENTRADA .

Na macro pegar o conteudo dela (junto com as outras linhas que pegam os dados das variaveis)

Mensagem       = GetVariable("vMensagem ")

e na linha


objEmail.HTMLBody = "Caro "&NMCLIENTE&"pague sua parcela de vcto "&Data&",R$"&Valor&chr(10)&" com cod.de barras " & Linha


fazer


objEmail.HTMLBody = "Caro "&NMCLIENTE&"pague sua parcela de vcto "&Data&",R$"&Valor&chr(10)&" com cod.de barras " & Linha & chr(10) & Mensagem




Acho que funciona.

furtado@farolbi.com.br
Not applicable
Author

Oi Alessandro, criei a variável vMensagem a caixa de entrada e deu certo se eu adicionar no final da msg.

Mas o que eu realmente quero é que eu possa criar qualquer msg e dentro delas colocar os campos que quero que envie.

Tipo: "Caro Cliente:"&nmcliente&'Gostariamos de informar um novo lançamento"

Essa msg teria que pegar a lista dos clientes e mudar o nome para os email enviados.

Quero dar a opção ao meu cliente criar qquer tipo de msg e colocar campos que deseje que vá no email.

afurtado
Partner Ambassador/MVP
Partner Ambassador/MVP

Mas Ramires, ai uma opção seria criar uma lista com opções e deixar como sempre uma opção selecionado. Assim, a mensagem poderia ser de uma lista padrão.

furtado@farolbi.com.br
Not applicable
Author

Ola Joao,

A unica maneira que eu conheço para você fazer isso é utilizando o comando inputfield.

No seu script antes do LOAD coloque InputField NomeCampo; depois basta criar um objeto do tipo tabela ou lista...Mas vale lembrar que esse comando aumenta o tamanho do seu QVW de forma considerável...então é bom fazer um teste antes.

Boa sorte!

Not applicable
Author

Alessandro, realmente acho que vou criar uma lista com opções, fica menos vulnerável e até deixa o cliente um pouco amarrado comigo. Obrigado novamente Alessandro.

Not applicable
Author

Valeu Marcos vou tentar testar aqui.

Not applicable
Author

Esqueci de anexar o exemplo!