Skip to main content
Woohoo! Qlik Community has won “Best in Class Community” in the 2024 Khoros Kudos awards!
Announcements
Nov. 20th, Qlik Insider - Lakehouses: Driving the Future of Data & AI - PICK A SESSION
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Email pdf reports

Hi,

Is it possible to email pdf reports in Qlikview?

Thanks

Papiya

1 Solution

Accepted Solutions
suniljain
Master
Master

There are two way to send PDF of Qlikview Application

1) you can write macro along with installation of PDF creator . PDF creator available in download section of qlik.com site.

2) You can scedule task on publisher to send PDF report of your application to business user. I assume that you have PDF distributor license along with publisher.

Regards;

Sunil

View solution in original post

6 Replies
jagan
Luminary Alumni
Luminary Alumni

Hi,

You can send it using macros or using any third party tools like NPrinting.  You can check for examples in community for mail sending and report generating.

Regards,

Jagan.

suniljain
Master
Master

There are two way to send PDF of Qlikview Application

1) you can write macro along with installation of PDF creator . PDF creator available in download section of qlik.com site.

2) You can scedule task on publisher to send PDF report of your application to business user. I assume that you have PDF distributor license along with publisher.

Regards;

Sunil

bumin
Partner - Creator II
Partner - Creator II

Hi Sunil,

I can't find "PDF creator available in download section of qlik.com site"

where I exactly would find it?

do I need it also for Qlikview-Desktop?

Not applicable
Author

Hi,

You can write a vbscript like this.

sub Email()

Dim OutApp

    Dim OutMail

    dim emailadd

     SET fx = ActiveDocument.Fields("Email_address")

Set OutApp = CreateObject("Outlook.Application")

    set v = ActiveDocument.Variables("v")

    set b=ActiveDocument.Variables("b")

  ' Set objSelected =ActiveDocument.Fields("VEmail").GetSelectedValues

  

    Set OutMail = OutApp.CreateItem(0)

    On Error Resume Next

  

    With OutMail

       

        .To=""

        .CC = ""

        .BCC = ""

        .Subject = (v.GetContent().String)

        .Body = (b.GetContent().String)

        .Attachments.Add ActiveWorkbook.FullName

        'msgbox (v.GetContent().String&n.GetContent().String &".pdf"  )

       

        .Attachments.Add ("D:\Qlikview\PDF Files\abc.pdf" )

       

        .Send  

       ' msgbox"Msg Sent"

        activate=0

        emailadd=""

    End With

    On Error GoTo 0

    Set OutMail = Nothing

    Set OutApp = Nothing

   

end sub

bumin
Partner - Creator II
Partner - Creator II

Hi Dushan,

my problem is more to create the PDF-File with a specific name before emailing.

i want to create one PDF for each ID with the name if the the pdf-file reflecting the ID.

e.g. id = 050  pdf-name = 050.pdf

       id = 060 pdf-name = 060.pdf

regards

Bumin

Not applicable
Author

Hi Burmin,

You can try similar like this...

sub my

dim LOCANAME

Dim MyEmail

dim name

dim Yearname

dim monthnames

dim checkn

dim mytext

dim emailadd

set sf=ActiveDocument.Fields("Location").GetPossibleValues(800)

'set Bf=ActiveDocument.Fields("EMAIL").GetPossibleValues

'msgbox sf.Count

for i=1 to sf.Count

  'msgbox sf.item(i).text

  ActiveDocument.Fields("Location").Select  (sf.item(i).text)

  'ActiveDocument.Fields("ur category name").Select  ("Special")

  set n= ActiveDocument.Variables("Vcontract")

  set v = ActiveDocument.Variables("File")

  Set PDFCreator = CreateObject("PDFCreator.clsPDFCreator")

  PDFCreator.cOption("UseAutosave") = 1

  PDFCreator.cOption("UseAutosaveDirectory") = 1

  PDFCreator.cOption("AutosaveDirectory") = ActiveDocument.getVariable("TempPath").GetContent.String

  PDFCreator.cOption("AutosaveFormat") = 0

  PDFCreator.cOption("AutosaveFilename") = (sf.item(i).text)

  PDFCreator.cPrinterStop = FALSE

  ActiveDocument.PrintDocReport "RP01", "PDFCreator"

  'set mytext = ActiveDocument.GetSheetObject("TX56")

FOR B = 0 TO 15000000

next

'FOR B = 0 TO 15000000

'next

'

'FOR B = 0 TO 15000000

'next

'

'FOR B = 0 TO 15000000

'next

next

end sub

Best Rgrds,

Dushan