Harsh Kumar
asked on
VBA - Powerpoint create new presentation and then copy slides from another presentation
Hi guys,
I'm working on creating a tool for powerpoint where I need to create a new PPT and then paste slides ind from a PTT from a specific location.
But i'm having some issues with it, for some reason it simply just paste in the the slides into the first presentation that is open.
please advise.
this is the code I'm using:
I'm working on creating a tool for powerpoint where I need to create a new PPT and then paste slides ind from a PTT from a specific location.
But i'm having some issues with it, for some reason it simply just paste in the the slides into the first presentation that is open.
please advise.
this is the code I'm using:
Sub pre()
Dim myPresentation As Presentation
'Set myPresentation = Presentations.Add(WithWindow:=msoFalse) 'hidden
Set myPresentation = Presentations.Add(WithWindow:=msoTrue) 'visible
Call Module1.main
End Sub
Sub main()
Dim objPresentation As Presentation
Dim i As Integer
'open the target presentation
Set objPresentation = Presentations.Open("c:\temp\Test import2.pptx")
For i = 1 To objPresentation.Slides.Count
objPresentation.Slides.Item(i).Copy
Presentations.Item(1).Slides.Paste
Next i
objPresentation.Close
End Sub
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
Whoop whoop! thanks alot! you Rock! it works!
ASKER
I'm been struggling again.. please tell me if i need to make a new question but its simply not working for me if i have more then 1 presentation.. it only add's the last presentation in that is in the code..
please advise here is the code:
And here is the file i'm working with:
ppt-tool-15082016.ppt
please advise here is the code:
Sub create_new_ppt()
Dim myPresentation As Presentation
Set myPresentation = Presentations.Add(WithWindow:=msoFalse) 'hidden
'Set myPresentation = Presentations.Add(WithWindow:=msoTrue) 'visible
'Import Presentation
If crtppt.chk_pres1.Value = True Then
sTemplate = "c:\test\Test import2.pptx" '16:9 format
'Call pres1
End If
If crtppt.chk_pres2.Value = True Then
sTemplate = "c:\test\Test import3.pptx" '4:3 format
'Call pres2
End If
Set myPresentation = Presentations.Open(sTemplate, False, True, True)
End Sub
And here is the file i'm working with:
ppt-tool-15082016.ppt
pls try
Open in new window
Regards