Skip to main content
Announcements
Live today at 11 AM ET. Get your questions about Qlik Connect answered, or just listen in. SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

Qlikview Macro code to send a Email

Hi All,


While using the below code i can able to send a e-mail from Qlikview.


Here i'm trying to do more modifications like now in mail i want to add some body content & signature for the e-mail.


While using the below marco code i can able to achieve the Blue code stuff.. but i'm not able to achieve the red code stuff ..

Help on this..


Qlikview Macro Code:

sub mSendMail

          Dim objOutlk 'Outlook

          Dim objMail 'Email item

          Dim strMsg

          dim strMailTo

          dim sString

          dim oldFormat

          Dim Rng

          Const olMailItem = 0

          Const CdoReferenceTypeName = 1

          Set objOutlk = CreateObject("Outlook.Application")

          Set objMail = objOutlk.createitem(olMailItem)

          Set Rng = Nothing

          objMail.To = "abc@xyz.com"       

          objMail.subject = "Today Dashboard" & Date()

          ActiveDocument.ActiveSheet.CopyBitmapToClipboard true

          ActiveDocument.GetSheetObject("CH86").ExportBitmapToFile "C:\User\Dashobard.jpeg"

          objMail.attachments.add("C:\User\Dashobard.jpeg")

          objMail.body ="Please find the Today Dashboard"   

     strMsg = "This is an automatic generated email from QlikView for Dashobard."

          objMail.body = strMsg

          objMail.HTMLBODY = "<HTML><BODY><img align=baseline border=0 hspace=10 src='cid:C:\User\Dashobard.jpeg'</BODY></HTML>"

            objMail.Send

          Set objMail = Nothing

          Set objOutlk = Nothing

    'Msgbox " Mail delivered"

end sub


Expected output in the E-mail


To:abc@xyz.com

CC:cdf@xyz.com

Subject: todays dashboard.


E-mail body : Hi, Please find the todays dashboard in the attachments.


IMAGE


Email-Signature
Thanks & Regards,

Venkata Sreekanth

11 Replies
marcus_sommer

I think the problem are the multiple and contrary definings of the mail-body - there are 3 different ones. I suggest to use only one statement like: objMail.HTMLBODY = strMsg  whereby your variable then contained the whole body-statement including your needed html-tags and the references to the linked pictures (this path must be available from a receiver point of view and therefore you might any network-path for it and not the local C:).

If and how you could access/choose the proper signature there are outlook-communities a better source whereby you could also set them semi-static with some fix text and variable values from the user who called the routine.

I think this link might be helpful to understand how the HTMLBody could be filled: Send Mail from QlikView with table in the mail body.

- Marcus

Anonymous
Not applicable
Author

Hi Sommer,


Thanks for reply. Yes i agree, i have used this code objMail.HTMLBODY = strMsg cod in my macro. But the problem here is when i received the mail, the body content is not appearing.




Can you suggest me the macro code to get that e-mail body(3) consists the testmessage, Imge & singature.


Thanks in advance..


Thanks & Regards,

Venkata Sreekanth

marcus_sommer

Had you checked that your variable has really this content which you expect and that there was only one body-statement and that the html has a valid syntax?

- Marcus

Anonymous
Not applicable
Author

Its working properly, but in my generated mail dont have the body content. It is showing only the image

marcus_sommer

What is the content of the variable strMsg?

- Marcus

Anonymous
Not applicable
Author

strMsg = "This is an automatic generated email from QlikView for  Dashobard."

marcus_sommer

It looked that you yet use several body-statements but it must be only one - maybe something like this:

strMsg = "<HTML><BODY><div>This is an automatic generated email from QlikView for Dashobard.</div><br><br><img align=baseline border=0 hspace=10 src='cid:C:\User\Dashobard.jpeg'</img></BODY></HTML>"

objMail.HTMLBODY = strMsg

- Marcus

Anonymous
Not applicable
Author

Hi Sommer,


Its working now. I cannot able to see the image. As below below like that i can able to see the image in mail body.

I want to view the full image in mail body it self without clicking on the attachments.


1.PNG

marcus_sommer

You need to enable the option to view your mails in html and also to load pictures automatically - if both is set the picture should be displayed. If not there might be an syntax-error - I suggest to look into various html and outlook communities how a valid syntax looks like - and to make sure that the path to the picture is available from outlook.

- Marcus