Skip to main content
Announcements
Qlik Connect 2024! Seize endless possibilities! LEARN MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Exporting to PPT


Hi Experts,

We have a requirement of exporting a chart type to ppt.

Can we achieve this in Qlikview 11

Any pointers on this will be appreciated.

Regards,

Roy

1 Solution

Accepted Solutions
ashfaq_haseeb
Champion III
Champion III

Yest possible.

have a look at attached document.

Regards

ASHFAQ

View solution in original post

4 Replies
vardhancse
Specialist III
Specialist III

Try to run some macros to export to PPT.

ashfaq_haseeb
Champion III
Champion III

Yest possible.

have a look at attached document.

Regards

ASHFAQ

Not applicable
Author

Hi Ashfaq,

Thanks for the reply.  I have used added that Macro using a Button Action Run MAcro. However, it seems doing half the job, Its trigerring MS power point which a blank slide with no object attached. I have tried tweaking the code a little but in vain. Is there any other thing we need to have to run this successfully?

Also to add i have tried it from two different systems but while its popping up a blank MS Powerpoint page in one , its showing nothing in the other (apart from a running macro message at the bottom).

Please suggest.

many thanks,

Roy

Not applicable
Author

Hi Ashfaq/Roy,

This below ppt  macro works however the dashboards I have looks a lot more complex with 5 to 6 objects in a single sheet, once the ppt is generated it is putting all the objects from the same sheet in a single slide of the ppt. Is it possible to have a even gap between all the sheet objects when there are exported to ppt. or otherwise one chart in one slide placed in the middle of the ppt, just to make it look better.

sub ppt

pos = activedocument.evaluate("=getactivesheetid()")

set v = activedocument.Getvariable("vShowAll")

v.SetContent 1,TRUE

Set PPApp = CreateObject("Powerpoint.Application")

PPApp.Visible = True

Set PPPres = PPApp.Presentations.Add

for j = 0 to ActiveDocument.NoOfSheets - 1

     rev = activedocument.noofsheets - j - 1

     Activedocument.ActivateSheet rev

'      ActiveDocument.Sheets(j).Activate

     ActiveDocument.GetApplication.WaitForIdle

     set s=ActiveDocument.ActiveSheet

     charts=s.GetSheetObjects

     Set PPSlide = PPPres.Slides.Add(1, 1)     

     PPSlide.Shapes(1).Delete

     PPSlide.Shapes(1).Delete

           for i=lbound(charts) to ubound(charts)

                if(UCASE(mid(charts(i).getobjectid,10,2)))="CH" then

'                   Set PPSlide = PPPres.Slides.Add(1, 1)

'                     PPSlide.Shapes(1).Delete ' removes the title

'                     PPSlide.Shapes(1).Delete ' removes the text box

                    ActiveDocument.GetSheetObject(charts(i).getobjectid).CopyBitmapToClipboard

                    PPSlide.Shapes.Paste

                end if

                iterno = 1

                for each shape in PPSlide.Shapes

                with shape

                .top = 1 * iterno

                .left = 1

                end with

                iterno =  iterno * 300

                next

     next

next

'PPPres.SaveAs "C:\PresentationPPT.ppt"

'PPPres.Close

'PPApp.Quit

Set PPSlide = Nothing

Set PPPres = Nothing

Set PPApp = Nothing

set v = activedocument.Getvariable("vShowAll")

v.SetContent 0,TRUE

activedocument.sheets(pos).activate

msgbox "PPT Extract Successful",64,"Complete"

end sub

Thanks,

D