Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
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.
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
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.
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.
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.
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.
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!
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.
Valeu Marcos vou tentar testar aqui.
Esqueci de anexar o exemplo!