Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Boa tarde amigos,
Estou travado em um probleminha aqui, que pode ser simples...
Preciso gerar uma apresentação com imagens da minha dashboard (qlikview).
A cada seleção que eu fizer, preciso gerar um novo slide na apresentação, com a imagem da dashboard!
Tenho um script aqui que faz isso, mas ele cria uma apresentação nova pra cada seleção. A ideia seria usar esse script pra criar a apresentação, na primeira seleção que eu fizer, porém, nas próximas seleções, tenho que modificar o scrpit para apenas adicionar slides novos na apresentação já criada.
Alguem pode me ajudar?
O script que cria a apresentação com a imagem é o seguinte:
Sub ExportPPT
ActiveDocument.ActiveSheet.FitZoomToWindow
Set objPPT = CreateObject("PowerPoint.Application")
objPPT.Visible = True
Set objPresentation = objPPT.Presentations.Add
For i = 0 To ActiveDocument.NoOfSheets - 1
Set MySheet = ActiveDocument.GetSheet(i)
Set PPSlide = objPresentation.Slides.Add(1,11)
ActiveDocument.ActiveSheet.CopyBitmapToClipboard
PPSlide.Shapes.Paste
set mysheet=ActiveDocument.ActiveSheet
set MySheetProp=mysheet.GetProperties
MySheetProp.ZoomFactor = 1
mysheet.SetProperties MySheetProp
Next
Set PPSlide = Nothing
Set PPPres = Nothing
End sub
Caro Pericles
Segue os codigos
O primeiro (CreatePPT) cria a apresentação e já salva o primeiro slide
O segundo (ExportPPT) carrega a apresentação criada acima e salva um segundo slide
sub CreatePPT
Set objPPT = CreateObject("PowerPoint.Application")
objPPT.Visible = True
Set objPresentation = objPPT.Presentations.Add
Set PPSlide = objPresentation.Slides.Add(1,11)
Application.WaitForIdle
ActiveDocument.ActiveSheet.CopyBitmapToClipboard
PPSlide.Shapes.Paste
Set PPSlide = Nothing
Set PPPres = Nothing
Set PPApp = Nothing
objPresentation.SaveAs("C:\Local_do_Arquivo.ppt")
objPresentation.Close
objPPT.Quit
End Sub
sub ExportPPT
Set objPPT = CreateObject("PowerPoint.Application")
objPPT.Visible = True
Set objPresentation = objPPT.Presentations.Open("C:\Local_do_Arquivo.ppt")
Set PPSlide = objPresentation.Slides.Add(objPresentation.Slides.Count + 1,11)
Application.WaitForIdle
ActiveDocument.ActiveSheet.CopyBitmapToClipboard
PPSlide.Shapes.Paste
Set PPSlide = Nothing
Set PPPres = Nothing
Set PPApp = Nothing
objPresentation.SaveAs("C:\Local_do_Arquivo.ppt")
objPresentation.Close
objPPT.Quit
End Sub
Teria como mandar o .qvw para darmos uma olhada?
flw
Cara, consegui resolver o problema
Era só fazer algumas alterações no código =]
Valeeu!
Jonnathanr, poderia postar esse código pra comunidade?
abç
Caro Pericles
Segue os codigos
O primeiro (CreatePPT) cria a apresentação e já salva o primeiro slide
O segundo (ExportPPT) carrega a apresentação criada acima e salva um segundo slide
sub CreatePPT
Set objPPT = CreateObject("PowerPoint.Application")
objPPT.Visible = True
Set objPresentation = objPPT.Presentations.Add
Set PPSlide = objPresentation.Slides.Add(1,11)
Application.WaitForIdle
ActiveDocument.ActiveSheet.CopyBitmapToClipboard
PPSlide.Shapes.Paste
Set PPSlide = Nothing
Set PPPres = Nothing
Set PPApp = Nothing
objPresentation.SaveAs("C:\Local_do_Arquivo.ppt")
objPresentation.Close
objPPT.Quit
End Sub
sub ExportPPT
Set objPPT = CreateObject("PowerPoint.Application")
objPPT.Visible = True
Set objPresentation = objPPT.Presentations.Open("C:\Local_do_Arquivo.ppt")
Set PPSlide = objPresentation.Slides.Add(objPresentation.Slides.Count + 1,11)
Application.WaitForIdle
ActiveDocument.ActiveSheet.CopyBitmapToClipboard
PPSlide.Shapes.Paste
Set PPSlide = Nothing
Set PPPres = Nothing
Set PPApp = Nothing
objPresentation.SaveAs("C:\Local_do_Arquivo.ppt")
objPresentation.Close
objPPT.Quit
End Sub
Jonnathanr, sinceramente nunca usei Macros no QlikView. Essa solução é muito interessante, e várias pessoas por aqui já procuraram essa solução.
Teria como você, com tempo, criar um tipo de tutorial de como aplicar isso no QlikView?
Eu não consigo instanciar o "PowerPoint.Application" pois meu Office é o antigo 2000, mas testarei na maquina de um amigo, que tem o Office 2010. É bom citar também essas coisas de versão, pois se eu não me engano, o PowerPoint.Application só funciona para versões a partir do Office 2007.
Obg.