Skip to main content
Announcements
Have questions about Qlik Connect? Join us live on April 10th, at 11 AM ET: SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
udaya_kumar
Specialist
Specialist

How to export QlikView Sheet as an image to PowerPoint?

Hi all,

i am able to export the sheet as an image to powerpoint,

but the problem is that, the image is getting truncated after it is exported.

what could be the problem?

can anyone help me in this issue?

Thanks in advance

the code is given below

sub exportppt

Set objPPT = CreateObject("PowerPoint.Application")

objPPT.Visible = True

Set objPresentation = objPPT.Presentations.Add

Set PPSlide = objPresentation.Slides.Add(1,11)

ActiveDocument.ActiveSheet.CopyBitmapToClipboard

PPSlide.Shapes.Paste

Set PPSlide = Nothing

Set PPPres = Nothing

Set PPApp = Nothing

End Sub

so it is exporting, but the image is not coming fully, it is getting truncated.

how we can rectify this problem?

13 Replies
Not applicable

The qlikview application works but it is exporting to PPT as a duplicated slide. How can we export a qlikview application of 5 tabs?

Not applicable

Hi DV,

I am looking for the same functionality as Jerome. Have you further developed yoour ideas since the discusison with Jerome. I mean your ideas on exporting to ppt ignoring the screensize that the dashboard happens to be at?

Regards,

MarcD.

jumiprado
Creator
Creator

hey guys! how are you.

I want to create a powerpoint from some differents qlikview objects. I could creat the macro wich create the ppt and paste the objects but i have the following questions:

How can i create the ppt with a specific name?

How can i put one object per slide ?

How can i put two specific objects in a specific slide?

here i paste the macro. THANKS A LOT!!!

Sub ppt

'An array with the objects you want to export to powerpoint

Dim myArray(4)

myArray(0) = "CH09"

myArray(1) = "TX22"

myArray(2) = "TX23"

myArray(3) = "TX31"

'Create ppt object

Set objPPT = CreateObject("PowerPoint.Application")

objPPT.Visible = True

Set objPresentation = objPPT.Presentations.Add

'Apply a template if you want one

'objPresentation.ApplyTemplate _

'   ("C:\mytemplate.potx")

'For each object in the array create a new slide and paste it.

For each item in myArray

   '     Set MySheet = ActiveDocument.GetSheet(i)

        Set PPSlide = objPresentation.Slides.Add(1,11)

   '     ActiveDocument.ActiveSheet.CopyBitmapToClipboard

                       ActiveDocument.GetSheetObject("CH09").CopyBitmapToClipboard

                       ActiveDocument.GetSheetObject("TX22").CopyBitmapToClipboard

        with PPSlide.Shapes.Paste

      .Left = 90

.top = 50

.width=50

.height=90

end with

        

    ActiveDocument.GetSheetObject("TX31").CopyBitmapToClipboard   

  with PPSlide.Shapes.Paste

  .Left = 150

.top = 350

.width=20

.height=20

end with

                       ActiveDocument.GetSheetObject("TX23").CopyBitmapToClipboard 

  with PPSlide.Shapes.Paste

.Left = 150

.top = 350

.width=50

.height=90

end with

Next

'Clean up

Set PPSlide = Nothing

Set PPPres = Nothing

Set PPApp = Nothing

End Sub  

Not applicable

Hi Uday,

This macro copy the sheet into an image and then it fits this image to the powerpoint slide size. It will be done as much sheets as your document has. (See the Shape instruction)

sub ExportarPPT

  ActiveDocument.ActiveSheet.FitZoomToWindow

  ActiveDocument.ActiveSheet.ApplyZoomToAllSheets

  Set PPApp = CreateObject("PowerPoint.Application")

  PPApp.Visible = True

  Set PPres = PPApp.Presentations.Add

  PPSlideNo = 1

  For i = 0 to ActiveDocument.NoOfSheets - 1

  Set PPSlide = PPres.Slides.Add(PPSlideNo,1)

  ActiveDocument.GetApplication.WaitForIdle

  ActiveDocument.ActiveSheet.CopyBitmapToClipboard

  PPSlide.Shapes.Paste

  with PPSlide.Shapes(PPSlide.Shapes.Count)

  .left = 0

  .top = 20

  .width =720

  end with

  activedocument.nexttab

  PPSlideNo = PPSlideNo + 1

  NEXT

  PPres.SaveAs "C:\Presentation1.ppt"

  PPres.Close

  PPApp.Quit

  Set PPSlide = Nothing

  Set PPPres = Nothing

  Set PPApp = Nothing

End Sub