Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
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
Try to run some macros to export to PPT.
Yest possible.
have a look at attached document.
Regards
ASHFAQ
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
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