Since the previous answer was specific to VBS scripts, here is the version for implementation in PowerPoint as a VBA macro. This was created using PowerPoint 2010.
This is a hard-coded directory, so read the search for the directory name for reading.
Sub CreatePictureSlideshow( ) Dim presentation Dim layout Dim slide Dim FSO Dim folder Dim file Dim folderName ' Set this to point at the folder you wish to import JPGs from ' Note: make sure this ends with a backslash \ folderName = "c:\somedirectory\" ' Delete all slides and setup variables Set presentation = Application.ActivePresentation If presentation.Slides.count > 0 Then presentation.Slides.Range.Delete End If Set layout = Application.ActivePresentation.SlideMaster.CustomLayouts(1) Set FSO = CreateObject("Scripting.FileSystemObject") ' Retrieve the folder file listing and process each file Set folder = FSO.GetFolder(folderName) For Each file In folder.Files ' Filter to only process JPG images If LCase(Mid(file.Name, Len(file.Name) - 3, 4)) = ".jpg" Then ' Create the new slide and delete any pre-existing contents Set slide = presentation.Slides.AddSlide(presentation.Slides.count + 1, layout) While slide.Shapes.count > 0 slide.Shapes(1).Delete Wend ' Add the picture slide.Shapes.AddPicture folderName + file.Name, False, True, 10, 10 ' Optional: create a textbox with the filename on the slide for reference ' Dim textBox ' Set textBox = slide.Shapes.AddTextbox(msoTextOrientationHorizontal, 10, 10, 200, 200) ' textBox.TextFrame.TextRange.Text = file.Name End If Next End Sub
source share