![]() |
#16
|
|||
|
|||
![]()
Sounds like you have the new loop inside the previous loop. Post you completed code and I'll have a look.
|
#17
|
|||
|
|||
![]()
See if this works:
Sub ImportABunch() ' based on code from pptfaq Dim SW As Long Dim SH As Long Dim strTemp As String Dim strPath As String Dim strFileSpec As String Dim oSld As Slide Dim oPic As Shape Dim iCount As Integer '++++++++++++++++++++++++++++++NEW If ActivePresentation.Slides.Count > 1 Then _ ActivePresentation.Slides(2).Shapes.Range.Copy '++++++++++++++++++++++++++++++NEW ' Edit these to suit: strPath = "c:\Users\John\Desktop\Pics\" strFileSpec = "*.png" SH = ActivePresentation.PageSetup.SlideHeight SW = ActivePresentation.PageSetup.SlideWidth strTemp = Dir(strPath & strFileSpec) Do While strTemp <> "" Set oSld = ActivePresentation.Slides.Add _ (ActivePresentation.Slides.Count + 1, ppLayoutBlank) iCount = iCount + 1 Set oPic = oSld.Shapes.AddPicture(FileName:=strPath & strTemp, _ LinkToFile:=msoFalse, _ SaveWithDocument:=msoTrue, _ Left:=0, _ Top:=0, _ Width:=msoTrue, _ Height:=msoTrue) 'reset height to a 150points less than slide height With oPic .LockAspectRatio = msoTrue .Height = SH - 150 .Left = (SW - oPic.Width) / 2 .Top = 100 End With ' Get the next file that meets the spec and go round again '=========================NEW oSld.Shapes.Paste '=========================NEW strTemp = Dir Loop If MsgBox("I added " & iCount & " Images." & vbCrLf & "Would you like to delete the files? This cannot be reversed.", vbYesNo) = vbYes Then Kill strPath & "*png""" End If End Sub |
#18
|
|||
|
|||
![]()
This is fabulous! Thanks so much!
But the new slides still come in at the end, but after the current/selected slide. DJ |
#19
|
|||
|
|||
![]()
I didn't understand what you meant!
Try Sub ImportABunch() ' based on code from pptfaq Dim SW As Long Dim SH As Long Dim strTemp As String Dim strPath As String Dim strFileSpec As String Dim oSld As Slide Dim oPic As Shape Dim iCount As Integer Dim lngStart As Long On Error GoTo err '++++++++++++++++++++++++++++++NEW If ActivePresentation.Slides.Count > 1 Then _ ActivePresentation.Slides(2).Shapes.Range.Copy '++++++++++++++++++++++++++++++NEW ' Edit these to suit: strPath = "c:\Users\John\Desktop\Pics\" strFileSpec = "*.png" SH = ActivePresentation.PageSetup.SlideHeight SW = ActivePresentation.PageSetup.SlideWidth strTemp = Dir(strPath & strFileSpec) lngStart = ActiveWindow.Selection.SlideRange(1).SlideIndex Do While strTemp <> "" Set oSld = ActivePresentation.Slides.Add _ (lngStart + 1, ppLayoutBlank) lngStart = lngStart + 1 iCount = iCount + 1 Set oPic = oSld.Shapes.AddPicture(FileName:=strPath & strTemp, _ LinkToFile:=msoFalse, _ SaveWithDocument:=msoTrue, _ Left:=0, _ Top:=0, _ Width:=msoTrue, _ Height:=msoTrue) 'reset height to a 150points less than slide height With oPic .LockAspectRatio = msoTrue .Height = SH - 150 .Left = (SW - oPic.Width) / 2 .Top = 100 End With ' Get the next file that meets the spec and go round again '=========================NEW oSld.Shapes.Paste '=========================NEW strTemp = Dir Loop If MsgBox("I added " & iCount & " Images." & vbCrLf & "Would you like to delete the files? This cannot be reversed.", vbYesNo) = vbYes Then Kill strPath & "*png""" End If Exit Sub err: MsgBox "There's an error" End Sub |
#20
|
|||
|
|||
![]()
You did it! Words can not express!
I recorded a macro to add a transition too all of the slides, but the recorded doesn't capture Select All. How do I make these commands apply a transition to all slides, please? Code:
' Add Transition With ActiveWindow.Selection.SlideRange.SlideShowTransition .EntryEffect = ppEffectFadeSmoothly .Speed = ppTransitionSpeedFast .AdvanceOnClick = msoTrue End With |
#21
|
|||
|
|||
![]()
Your code would workonly if all slides were already selected. To apply to all the slides in a presentation use:
' Add Transition With ActivePresentation.Slides.Range.SlideShowTransitio n ' watch out for the auto added extra space! .EntryEffect = ppEffectFadeSmoothly .Speed = ppTransitionSpeedFast .AdvanceOnClick = msoTrue End With |
#22
|
|||
|
|||
![]()
It's perfect! Now I can get to work!
Thanks a bunch, John! I'm sending you a virtual Pepsi or beer or something! :-) DJ |
#23
|
|||
|
|||
![]()
Not Pepsi thank you!
If you are based in the UK, Seattle area, New Orleans or Vancouver then you might get a chance to buy a real beer! |
![]() |
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
![]() |
ue418 | Excel Programming | 5 | 10-28-2017 12:52 PM |
Import from .CUB files in MS Access | vamsikrishnad | Office | 0 | 12-30-2014 03:19 AM |
Import msg-files to Outlook | Jeff10 | Outlook | 0 | 01-19-2013 10:56 AM |
![]() |
TallKewlOnez | Excel Programming | 1 | 04-09-2012 05:19 PM |
How might I group a bunch of text boxes without getting a space around the edge? | Augusta | PowerPoint | 0 | 08-25-2011 01:42 AM |