This is the code from the Mass Quantities section of the seminar (modMassQuantities) that deals with automating actions across many slides or many presentations.
Option Explicit Sub GreenToRed() ' Object variables for Slides and Shapes Dim oSh As Shape Dim oSl As Slide For Each oSl In ActivePresentation.Slides For Each oSh In oSl.Shapes If oSh.Fill.ForeColor.RGB = RGB(0, 255, 0) Then oSh.Fill.ForeColor.RGB = RGB(255, 0, 0) End If Next oSh Next oSl End Sub Sub FolderFull() ' For each presentation in a folder that matches our specifications ' - open the file ' - call another subroutine that does something to it ' - save the file ' - close the file Dim strCurrentFile As String ' variable to hold a single file name Dim strFileSpec As String ' variable to hold our file spec ' give it a value that works for my computer: strFileSpec = "C:\Documents and Settings\Stephen Rindsberg\Desktop\PPTLive\Automation\LotsOfFiles\*.ppt" ' get the first file that matches our specification strCurrentFile = Dir$(strFileSpec) ' don't do anything if we didn't find any matching files ' but if we did, keep processing files until we don't find any more While Len(strCurrentFile) > 0 ' open the presentation Presentations.Open (strCurrentFile) ' by changing this next line to call a different subroutine ' you can have this same code do other tasks Debug.Print ActivePresentation.Name ' call the Green to Red macro to process the file Call GreenToRed ' save the file under a new name with FIXED_ at the beginning ActivePresentation.SaveAs (ActivePresentation.Path & "\" _ & "Fixed_" _ & ActivePresentation.Name) ' close it ActivePresentation.Close ' and get the next file that matches our specification ' if you don't supply a new file spec, Dir$ returns the next ' file that matches the previously supplied specification strCurrentFile = Dir$ Wend ' Note: Don't use Dir in code that's called from within a loop ' that uses Dir - only one "Dir" can be "active" at a time. ' In production code, it's best to keep it in a very short loop or ' to collect file names in a short loop then process them after ' Arrays are useful for this End Sub
Click Next to continue