Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hello,
I am trying to export existing graph on a powerpoint slide to update it. Basically, it means that I need to SELECT a already existing slide in the PPT; Unfortunatly, I cannot find the way to so, as all script/example I am refering to are dealing with:
Set PPSlide = PPPres.Slides.Add(1, 1)
Where I'd rather have to use sthg like:
' found in Slide.Select Method (PowerPoint)
Set PPSlide = PPPres.Slides(4).Select 'to go to Slide nb4
Do you see a a way to do so ?
Thanks for your help!
Here is the function I am using:
FUNCTION ajout_slide(PPApp,SheetID,ObjectID,SlideNB,marginX,marginY,sizeX,sizeY,ppt_doc,qvw_file)
ActiveDocument.ActivateSheet SheetID
ActiveDocument.GetAPplication.WaitForIdle
ActiveDocument.GetSheetObject(ObjectID).CopyBitmapToClipboard
'msgbox("Copy:"&vbcrlf&"SheetID: "&SheetID&vbcrlf&"Object: "&ObjectID&vbcrlf&"Slide: "&SlideNB&vbcrlf&"MarginX: "&marginX&vbcrlf&"MarginY: "&marginY&vbcrlf&"sizeX: "&sizeX&vbcrlf&"sizeY: "&sizeY&vbcrlf&"PPT file: "&ppt_doc&vbcrlf&"Qlikview file: "&qvw_file)
'exit function
Set PPApp = CreateObject("Powerpoint.Application")
PPApp.Visible = True
vPPTTemplatePath = ppt_doc
Set PPPres = PPApp.Presentations.Open(vPPTTemplatePath, 0) ' -1 = read only
' ------------------------------------------------------------------------------------------------------
' Should select HERE slide nb <SlideNB> instead of creating one!
Set PPSlide = PPPres.Slides.Add(1, 1)
' ------------------------------------------------------------------------------------------------------
PPSlide.Shapes.Paste
if(marginX<>0) then PPSlide.Shapes(PPSlide.Shapes.Count).Left = marginX
if(marginY<>0) then PPSlide.Shapes(PPSlide.Shapes.Count).Top = marginY
if(sizeX<>0) then PPSlide.Shapes(PPSlide.Shapes.Count).Width = sizeX end if
if(sizeY<>0) then PPSlide.Shapes(PPSlide.Shapes.Count).Height = sizeY end if
PPSlide.Shapes(PPSlide.Shapes.Count).PictureFormat.TransparentBackground = msoTrue
PPSlide.Shapes(PPSlide.Shapes.Count).PictureFormat.TransparencyColor = RGB(255, 255, 255)
PPSlide.Shapes(PPSlide.Shapes.Count).Fill.Visible = msoFalse
PPPres.SaveAs ppt_doc
PPPres.Close
PPApp.Quit
Set PPSlide = Nothing
Set PPPres = Nothing
Set PPApp = Nothing
'PPApp.Visible = False
END FUNCTION
hello,
Nobody has a clue ?