i have a folder that has the structure of subfolders filled with powerpoints and one powerpoint outside of those subfolders, so kind of like this:
[main folder]
|-[subfolder 1]
|-ppt A
|-[subfolder 2]
|-ppt B
|-ppt file to exclude
my goal is to loop through these subfolders, perform actions on the powerpoints inside the subfolders, and ignore the ppt at the end. i can't hardcode the name of the ppt because the name gets updated every week with a new date in the title. is this possible to do without hardcoding the file name?
while simply testing, i've tried using a do-while loop and hardcoded the name, but that didn't seem to work. in fact, i think it ended up running an endless loop and crashed my PPT:
Dim File
For Each File In Folder.Files
Debug.Print File.path
Do While File <> "hardcoded file name"
If Right(File, 5) Like ".ppt*" Then
Set objPresentation = Presentations.Open(File, msoFalse, msoFalse, msoFalse)
For i = 1 To 1
objPresentation.Slides.Item(1).Copy
Presentations.Item(1).Slides.Paste
Presentations.Item(1).Slides.Item(Presentations.Item(1).Slides.Count).Design = _
objPresentation.Slides.Item(1).Design
ActivePresentation.Slides(ActiveWindow.View.Slide.SlideIndex).Shapes("Rectangle 2").Delete
Next i
objPresentation.Close
End If
Loop
Next
End Sub
i thought about using a case statement, but wasn't exactly sure where to place it. even if i were to get it to work, i'm not sure if it would still work without the file name being hardcoded.