Supercharge your PowerPoint productivity with
Supercharge your PPT Productivity with PPTools - Click here to learn more.

PPTools

Shape Styles brings the power of styles to PowerPoint. Apply complex formatting with a single click

Merge Excel, CSV or tab-delimited data into PowerPoint presentations to create certificates, awards presentations, personalized presentations and more

FixLinks prevents broken links when you distribute PowerPoint presentations

Optimizer saves disk space and bandwidth, shrinks your PowerPoint presentations to the right size for email, screenshow or printing

PPT2HTML gives you full control of PowerPoint HTML output, helps meet Section 508 accessibility requirements

Prep4PDF preserves interactivity in PowerPoint presentations when you convert to PDF

Image Export converts PowerPoint slides to JPG, PNG, GIF, WMF and more

Batch re-save presentations; update older presentations to newer PowerPoint version

Problem

You have a folder full of PowerPoint files from an older version and want to open and resave each to the current PowerPoint version. And you don't want to do it manually.

Or you have files that have been edited repeatedly and saved with PowerPoint's dreaded Fast Saves enabled. They've become huge and bloated. You've turned Fast Saves off but now you need to open and resave every file to clean out the fat.

Solution

If you're using a version of PowerPoint that won't open your files, you'll need to find a computer with an earlier PowerPoint version that can open them and perform the conversion there.

Take note of the folder where the files are stored. You'll need to type the complete path to it.

Run this macro. It will open and resave each PPT file it finds in the folder you specify.

When done, you'll have two versions of each file you started with. The original is renamed to OriginalName.PPT.OLD and the newly saved file has the same name as the original did.

Sub BatchSave()
' Opens each PPT in the target folder and saves as PPT97-2003 format

    Dim sFolder As String
    Dim sPresentationName As String
    Dim oPresentation As Presentation

    ' Get the foldername:

    sFolder = InputBox("Folder containing PPT files to process", "Folder")

    If sFolder = "" Then
        Exit Sub
    End If

    ' Make sure the folder name has a trailing backslash
    If Right$(sFolder, 1) <> "\" Then
        sFolder = sFolder & "\"
    End If

    ' Are there PPT files there?
    If Len(Dir$(sFolder & "*.PPT")) = 0 Then
        MsgBox "Bad folder name or no PPT files in folder."
        Exit Sub
    End If

    ' Open and save the presentations
    sPresentationName = Dir$(sFolder & "*.PPT")
    While sPresentationName <> ""
        Set oPresentation = Presentations.Open(sFolder & sPresentationName, , , False)
        Call oPresentation.SaveAs(sFolder & "N_" & sPresentationName, ppSaveAsPresentation)
        oPresentation.Close
        ' New presentation is now saved as N_originalname.ppt
        ' Now let's rename them - comment out the next couple lines
        '   if you don't want to do this
        ' Original.PPT to Original.PPT.OLD
        Name sFolder & sPresentationName As sFolder & sPresentationName & ".OLD"
        ' N_Original.PPT to Original.PPT
        Name sFolder & "N_" & sPresentationName As sFolder & sPresentationName
        sPresentationName = Dir$()
    Wend

    MsgBox "DONE"

End Sub

See How do I use VBA code in PowerPoint? to learn how to use this example code.

Page copy protected against web site content infringement by Copyscape Contents © 1995 - 2009 Stephen Rindsberg, Rindsberg Photography, Inc. and members of the MS PowerPoint MVP team. You may link to this page but any form of unauthorized reproduction of this page's contents is expressly forbidden.
Español    Deutsch    Français    Português    Italiano    Nederlands    Greek    Japanese    Korean    Chinese

Supercharge your PPT Productivity with PPTools

content authoring & site maintenance by
Friday, the automatic faq maker (logo)
Friday - The Automatic FAQ Maker

Batch re-save presentations; update older presentations to newer PowerPoint version
http://www.pptfaq.com/FAQ00740.htm
Last update 16 February, 2009
Created: