Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Eu procurei aqui na comunidade, mas achei um script para ser executado via Macro. Mas aqui nao funcionou. Alguem ja enviou email pelo qlikview??? E se sim, alguem ja conseguiu fazer isso após executar o script???
Para enviar email achei o seguinte código
function mailrapport(teste)
Dim objEmail
Const cdoSendUsingPort = 2 ' Send the message using SMTP
Const cdoAnonymous = 0 'Do not authenticate
Const cdoBasic = 1 'basic (clear-text) authentication
Const cdoNTLM = 2 'NTLM
SMTPServer = "Seuemail@gmail.com"
Const SMTPPort = 25 ' Port number for SMTP
Const SMTPTimeout = 60 ' Timeout for SMTP in seconds
'Sending mail
Set objEmail = CreateObject("CDO.Message")
Set objConf = objEmail.Configuration
Set objFlds = objConf.Fields
With objFlds
'---------------------------------------------------------------------
' SMTP server details
.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = cdoSendUsingPort
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = SMTPServer
.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = cdoAnonymous
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = SMTPPort
.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = False
.Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = SMTPTimeout
.Update
'---------------------------------------------------------------------
End With
objEmail.To = "Seuemail@gmail.com" 'Email Recipient
objEmail.From = "Seuemail@gmail.com" 'Email Sender
objEmail.Subject = "The name of the report" ' Subject
objEmail.TextBody = "some text in the body of the mail" 'Text Body
objEmail.AddAttachment = Nothing ' Attachement
objEmail.Send
Set objFlds = Nothing
Set objConf = Nothing
Set objEmail = Nothing
end function
se possível manda mesmo
eu to querendo fazer algo desse tipo
é possivel sim, eu já fiz isso.
poderia me mandar o código ou o qvw por favor?
desde já agradeço
Leonardo... teria como vc me enviar um exemplo de como vc fez, estou precisando muito e não estou conseguindo fazer.... muito obrigado desde ja....
Preciso dessa solução também.
Funciona sim.
Boa tarde.
Segue script abaixo:
Function Mail_Report()
Set obj = ActiveDocument.ActiveSheet.SheetObjects("TX63")
Set obj1 = ActiveDocument.ActiveSheet.SheetObjects("TX64")
Set obj2 = ActiveDocument.ActiveSheet.SheetObjects("CH42")
Set obj3 = ActiveDocument.ActiveSheet.SheetObjects("CH44")
'Export entire Sheet
'Set obj = ActiveDocument.ActiveSheet
obj.ExportBitmapToFile "D:\\TestImage.jpg"
obj1.ExportBitmapToFile "D:\\TestImage1.jpg"
'obj2.ExportBitmapToFile "D:\\TestImage2.jpg"
obj3.ExportBitmapToFile "D:\\TestImage3.jpg"
Dim objEmail
Const cdoSendUsingPort = 2
Const cdoAnonymous = 1
Const cdoBasic = 1
Const cdoNTLM = 2
SMTPServer = "smtp.gmail.com"
Const SMTPPort = 465
Const SMTPTimeout = 60
Set objEmail = CreateObject("CDO.Message")
Set objConf = objEmail.Configuration
Set objFlds = objConf.Fields
set doc = ActiveDocument
set mySelections = doc.fields("Enviar_email_para").GetSelectedValues
for i = 0 to mySelections.Count - 1
email = email & mySelections.Item(i).text & ";"
next
destinatarios = email & ";XXXXXX@XXXX.com.br;XXXX.XXX@XXXXcom.br"
msgbox(email)
With objFlds
.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = cdoSendUsingPort
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = SMTPServer
.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = cdoAnonymous
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = SMTPPort
.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "XXXXX@ig.com.br"
.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "XXXXX"
.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = 1
.Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = SMTPTimeout
.Update
End With
objEmail.To = destinatarios
objEmail.From = "XXXX@ig.com.br"
objEmail.Bcc = "XXXX@ig.com.br" 'com cópia oculta
objEmail.Subject = "Relatório Diário"
HTML = "<!DOCTYPE HTML PUBLIC ""-//IETF//DTD HTML//EN"">" & chr(13) & chr(10)
HTML = HTML & "<html>"
HTML = HTML & "<head>"
HTML = HTML & "<meta http-equiv=""Content-Type"" content=""text/html; charset=iso-8859-1"">"
HTML = HTML & "<title>Relatório!</title>"
HTML = HTML & "</head>"
HTML = HTML & "<body bgcolor=""#FFFFFF"">"
'html tag to include image
HTML = HTML & "<p>Prezada XXX,"
HTML = HTML & "<p>Segue listagem."
HTML = HTML & "<p>"
HTML = HTML & "<p> <img src=""cid:TestImage.jpg"" > <br>"
HTML = HTML & "<p> <img src=""cid:TestImage1.jpg"" > <p>"
HTML = HTML & "<p> <img src=""cid:TestImage2.jpg"" > <P>"
HTML = HTML & "<p> <img src=""cid:TestImage3.jpg"" > <br>"
HTML = HTML & "<p>"
HTML = HTML & "</body>"
HTML = HTML & "</html>"
'code to embed the image by uploading into the mail body
Set objBP = objEmail.AddRelatedBodyPart("D:\\TestImage.jpg", "TestImage.jpg", CdoReferenceTypeName)
objBP.Fields.Item("urn:schemas:mailheader:Content-ID") = "<TestImage.jpg>"
objBP.Fields.Update
Set objBP1 = objEmail.AddRelatedBodyPart("D:\\TestImage1.jpg", "TestImage1.jpg", CdoReferenceTypeName)
objBP.Fields.Item("urn:schemas:mailheader:Content-ID") = "<TestImag1e1.jpg>"
objBP.Fields.Update
' Set objBP2 = objEmail.AddRelatedBodyPart("D:\\TestImage2.jpg", "TestImage2.jpg", CdoReferenceTypeName)
' objBP.Fields.Item("urn:schemas:mailheader:Content-ID") = "<TestImag1e2.jpg>"
' objBP.Fields.Update
'Set objBP3 = objEmail.AddRelatedBodyPart("D:\\TestImage3.jpg", "TestImage3.jpg", CdoReferenceTypeName)
'objBP.Fields.Item("urn:schemas:mailheader:Content-ID") = "<TestImag1e3.jpg>"
'objBP.Fields.Update
objEmail.HTMLBody = HTML
objEmail.Send
Set objFlds = Nothing
Set objConf = Nothing
Set objEmail = Nothing
msgbox("Relatório enviado!")
end function
Os objetosabaixo devem estar no qvw:
"TX63"
"TX64"
"CH42"
"CH44"
O servidor de email precisa estar configurado no server, caso seja executado nele. No restante é só modificar e-mails, portas e senhas, além de dar permissão de execução de macro para o qvw.
Fernando,
Alguma configuração no servidor é necessária ou é só criar esta function e as variáveis?
Abraço
Boa tarde Luciano Vasconcelos,
Amigo estou tentando implementar o disparador de email segundo seu código, fiz os ajustes aqui e me aparece o seguinte erro: 'set mySelections = doc.fields("Enviar_email_para").GetSelectedValues' você sabe me informar como posso sanar esse erro ?
Grato
Imagino que você não tenha um campo "Enviar_email_para", mas isso não é uma afirmação, só um pensamento.
Boa tarde Luciano,
Só não entendi o contexto desse campo e aonde inseri-lo ou localiza-lo.