0

I have a client who has 15 Mac desktops and 10 Windows desktops, all using different versions of Office to work with their files.

The only solution I can think of to prevent any compatibility issues is to convert all the files to a single format of PowerPoint.

Can anyone recommend an application that can do this? I'm not really ready to write a script just yet.

6 Answers 6

3

You are going to find this a difficult task to accomplish, and even more so if it's on an ongoing basis. The problem is that you will have to convert to the least common denominator. If the oldest version of Powerpoint installed, for example, is Powerpoint 2000 then all files must be converted backwards to the 2000 version. While this is possible, it will mean that any of the newer features will get dropped from the file if they are being used in the presentation. And it will likely cause formatting and other problems in the file.

If the oldest version is 2003, it's a little easier. There are both software utilities such as those offered by Batchworks and online services such as Zamzar which offer conversion possibilities, but none of the software or services I've found offer good compatibility with any version older than 2003.

Your best solution is to convince your client that they need to close the gap between versions in use, but I know that's often a harder sell than trying to explain all the hours of productivity they are losing by not doing so.

2
  • I did consider this - Once the files are uniform, I am forcing the client to go to the latest version of office available, (2011) across the board. May 24, 2011 at 11:47
  • Office 2010 is the latest for PCs. 2011 is the latest version for Mac only. May 24, 2011 at 13:56
2

There are only really 2 formats you need to choose between. The new pptx, which is the default in Office 2007/2010 (and I presume the associated Office Mac versions), and the older .ppt, which is Office 2003 and earlier.

In my opinion, you should make the new pptx format the standard. Office 2003 (and 2000/XP) users can install the compatibility pack in order to open the new pptx files.

If do this and chose the new format, I don't see any need to batch convert the older ppt files. Office 2007 and later will still open and work with them fine. Eventually the majority of files will end up as pptx, especially if you start re-saving ppt files as pptx when you come across them or next modify them.

6
  • I like this version. Your right, the newer versions are not really affected, and the compatibility pack is the best way forward for the older versions. May 24, 2011 at 13:01
  • You could still batch convert them if you think it might force people to start using newer versions of Office, but you really need to gather them all into one folder. You can then write a VBA script to open them all and re-save them in the new format. I wrote a script to do this for a 100+ Excel files a year or so ago. I would give you the source but as it was a one-off thing I dont think I saved it.
    – Spectre
    May 24, 2011 at 13:08
  • Problem with this is that when 2003 opens a PPTX, even with the converter, and manipulates/modifies the file, it will only be able to save as PPT, losing any advanced formatting. The converter only works for opening files, not saving. May 24, 2011 at 13:57
  • 1
    @music2myear: thats incorrect: "By installing the Compatibility Pack in addition to Microsoft Office 2000, Office XP, or Office 2003, you will be able to open, edit, and save files using the file formats in newer versions of Word, Excel, and PowerPoint". See also KB924074 which confirms (about half way down the page).
    – Spectre
    May 24, 2011 at 14:28
  • @Spectre: thank you for the correction. I was not aware of that. May 24, 2011 at 14:41
1

You could have everyone save their presentations as .pdf files. I'm not sure which versions of various PDF readers can read the .pdfs generated by MS Office, but you should be able to come up with a lowest common denominator.

4
  • I thought of this, in order to solve the printing problem, which lead me to discover the numerous different file formats. But presentations get updated all the time, hence the issue being suffered. LCD should be office 2008! May 24, 2011 at 11:11
  • 1
    @Mister Truthfully, even if you have versions of Office from before they could print .pdfs, you could use a full version of Acrobat to generate the pdfs. I don't know much about Open Office, but I think it's more permissive about the range of files that it opens. Using that as an intermediary could work, too. Doubtless someone has dealt with this issue before, but I can't think of any good search terms that would help.
    – jonsca
    May 24, 2011 at 11:15
  • This is counter productive, if you wanted to modify the PDFs you would need to buy a full version of Acrobat. Plus the older versions of Office don't have a built-in save as PDF (although you can make an inferior pdf copy with pdf virtual printers). And of course, if you convert to PDF you lose all the presentation power (timing/animations, slide notes etc).
    – Spectre
    May 24, 2011 at 13:00
  • @Spectre I completely agree with you that it's counter productive. I think it was less counter productive that having to reconcile ppt file formats was more my point. You're right that you do lose all of the extra information that way. I guess I was envisioning that these were already presented and headed to be archived, but the OP doesn't specify that.
    – jonsca
    May 24, 2011 at 13:10
1

Below is another modification to above, without file dialog:

Sub BatchSave()
' Opens each PPT in the target folder and saves as PowerPoint 2007/2010 (.pptx) format

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

sFolder = ActivePresentation.Path & "\"

' Open and save the presentations
sPresentationName = Dir$(sFolder & "*.PPT")
Do While sPresentationName <> ""
    Debug.Print sPresentationName
    If sPresentationName <> ActivePresentation.Name Then
        Set oPresentation = Presentations.Open(sFolder & sPresentationName, , , False)
        Call oPresentation.SaveAs(sFolder & sPresentationName)
        oPresentation.Close
    End If
    sPresentationName = Dir$
Loop   

MsgBox "DONE"

End Sub
0

You can use the tools in the Office Migration Planning Manager to batch convert Office files to OpenXML versions of the files - to .pptx format. The toolkit is free and can be found on the Microsoft Download Center.

The specific tool you want to use is the Office File Converter. You can provide it a list of files to convert or have it convert files in a specified directory.

See the TechNet reference info here:

http://technet.microsoft.com/en-us/library/ff453909.aspx

0

Below is a a modified version of a macro I found (http://www.pptfaq.com/FAQ00740_Batch_re-save_presentations-_update_older_presentations_to_newer_PowerPoint_version.htm)

Sub BatchSave()
' Opens each PPT in the target folder and saves as PowerPoint 2007/2010 (.pptx) format

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

' Select the folder:

Set fDialog = Application.FileDialog(msoFileDialogFolderPicker)
With fDialog
.Title = "Select folder and click OK"
.AllowMultiSelect = False
.InitialView = msoFileDialogViewList
If .Show <> -1 Then
    MsgBox "Cancelled By User", , "List Folder Contents"
    Exit Sub
End If
sFolder = fDialog.SelectedItems.Item(1)
If Right(sFolder, 1) <> "\" Then sFolder = sFolder + "\"
End With

' 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 & sPresentationName & "x")
    oPresentation.Close
Wend

MsgBox "DONE"

End Sub

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .