AppleScript or Automator Workflow for Bulk-Converting Powerpoint Presentations to Keynote

applescriptautomatorkeynote

I have a large set of Powerpoint presentations that I would like to convert to Keynote. I can convert each one manually by following these steps:

  1. In Finder, right-click Powerpoint document and select Open With… -> Keynote
  2. In Keynote, choose Save As…, check the Save copy as checkbox, select iWork '08 as the format, and click OK.

However, doing this for each document is tedious. I'd like a way to convert them all at once.

I've been trying to create an Automator workflow for this, but have been completely unsuccessful. (I think being a programmer actually makes it impossible to understand the for-the-rest-of-us tools like Automator and AppleScript.) Can anyone help me out?

Best Answer

I couldn't figure out how to get Automator to do it, but I was able to beat AppleScript into submission. Just save the following as an Application in the AppleScript Editor, then drag the files you want to convert onto the icon. It will prompt you to choose a folder where the converted files will be placed.

on open droppedFiles
    set theDestinationFolder to (choose folder with prompt "Choose destination folder") as Unicode text
    repeat with theFile in droppedFiles
        tell application "Keynote"
            open theFile
            set theSlideshow to slideshow 1
            set theDestinationPath to theDestinationFolder & (name of theSlideshow)
            save theSlideshow in theDestinationPath
            close theSlideshow
        end tell
    end repeat
end open

(I don't really know what I'm doing with AppleScript. If there are improvements that can be made here, I'd like to know about them.)