Sub SendEmailAndExportPDF() Dim intervalMinutes intervalMinutes = 20 ' Set the interval in minutes Do ' Call subroutine to export PDF CreateReport ' Wait for 20 minutes Application.Wait (Now + TimeValue("00:20:00")) Loop End Sub Sub CreateReport() Dim vReport Dim vName Dim reportFile vReport = "RP01" ' Set report vName = "Pdf Report" ' Name of output pdf ' Print report ActiveDocument.PrintReport vReport, "Bullzip PDF Printer", False ' Setting output name reportFile = "C:\" & vName & ".pdf" ' Export to PDF MyPrintPDFWithBullZip reportFile ' Sleep for 5 seconds ActiveDocument.GetApplication.Sleep 5000 ' Call subroutine to send email with the exported PDF as attachment mSendMail reportFile End Sub Sub mSendMail(pdfFilePath) Dim objOutlk Dim objMail Const olMailItem = 0 ' Create a new instance of Outlook application Set objOutlk = CreateObject("Outlook.Application") ' Create a new mail item Set objMail = objOutlk.createitem(olMailItem) ' Recipient's email address objMail.To = "example@yahoo.com" ' Subject of the email objMail.Subject = "Testing " & Date() ' Body of the email objMail.HTMLBody = "Body of the email, This is an automatic generated email from QlikView." ' Add attachment (use the generated PDF file) objMail.Attachments.Add pdfFilePath ' Send the email objMail.Send ' Release resources Set objMail = Nothing Set objOutlk = Nothing End Sub Function MyPrintPDFWithBullZip(pdfOutputFile) Dim obj 'set obj = CreateObject("Bullzip.PDFPrinterSettings") set obj = CreateObject("Bullzip.PdfSettings") obj.PrinterName = "Bullzip PDF Printer" obj.SetValue "Output" , pdfOutputFile obj.SetValue "ConfirmOverwrite", "no" obj.SetValue "ShowSaveAS", "never" obj.SetValue "ShowSettings", "never" obj.SetValue "ShowPDF", "no" obj.SetValue "RememberLastFileName", "no" obj.SetValue "RememberLastFolderName", "no" obj.SetValue "ShowProgressFinished", "no" obj.SetValue "ShowProgress", "no" ' Write settings obj.WriteSettings True ' Show message box indicating PDF creation MsgBox "PDF Created" End Function