Ray's File Extractor
Reviewed: Geetesh Bajaj
Date Created: June 11th 2004
Last Updated: February 27th 2009
Often, you end up creating a presentation that contains 50 slides. Then you need to take the 20 most important slides from the presentation and save it to a new presentation. So, what do you do? Many users would delete the slides they don't need and save the remaining slides to a new presentation. Only that things are not so simple - you might end up deleting an important slide and then do worse by overwriting the active presentation by saving the file.
If this situation sounds familiar, you need Ray's File Extractor add-in. Let's explore...
Ray is Head of Software Design at GR Business Process Solutions, a UK-based business which provides specialist services around knowledge testing and skills assessments. He develops and sells Excel, Access and Visual Basic applications, both as off-the-shelf products and as custom jobs to meet specific client needs.
The website he maintains for his company GR Business Process Solutions contains a range of articles of interest to Office developers, and a page of RAQs (Rarely Asked Questions) on Excel and Access.
I asked Ray about what motivated him to create File Extractor:
I've been doing some work with a big global consultancy
firm, which included building a system for them to keep track of all
their business proposals, most of which they create in PowerPoint. A
typical proposal may cover 30-50 slides, and have sections like, "Why
you should choose us", "Our project team" and some case
studies and resumes.
Every time a new proposal had to be done, these people would look through some of the old proposals and lift little bits out from here and there to help make a start on the new one. This was problematic because:
- Different proposals had sections in a
different order - you could waste a lot of time looking right
through for the 'key benefits' section of a particular presentation
which may not even contain one!
- There was a reliance on people knowing what
content and style was in what past proposal because this information
wasn't captured or indexed anywhere.
- There were a whole range of different backgrounds and color schemes involved.
The solution I designed involved an interface build in HTML with links to individual files. So, for instance, there was a section called 'outline project plan' which listed the 8 proposals in which these had appeared in different forms, and each name on the list linked to a .ppt file with just the relevant one or two slides. It was going to be a real time saver, and the team was looking forward to using it.
The only problem was turning each of those 50-slide files into many little ones of 1, 2 or 3 slides each. There's no easy way to do that in PowerPoint. You have to start with the big file, then delete all the slides you DON'T want, then save it with a new name. After that, you've got your 1-slide file, and you have to go back to the main file and start again. It's a tricky process, and I felt that one which involved actually deleting slides from presentations created a risk of data loss. I decided I'd need to use some VBA.
I'd done quite a bit of VBA in Word, Access and especially in Excel, but I'd never before rolled up my sleeves in front of PowerPoint, as it were. But the fundamentals are so similar that I was building code in no time. The web is such a wonderful resource, and as I searched around for code snippets I quickly found my way to the site maintained by Shyam Pillai http://www.mvps.org/skp/, which I imagine will be a site well known to Indezine readers. There I found some excellent code examples, one of which I adapted and incorporated in my program.
By this time I'd decided I'd need to package my code as an add-in so that the
distinctly non-Geek team could use it easily, and thought that if it turned out
well I'd put it up on the web. Consequently, I mailed Shyam to tell him what
I was planning to do and asking for permission. Shyam came straight back and
agreed, and he also included some more code he thought would help. In the end,
I used my original approach in the PowerPoint 2002/03 version of the add-in and
Shyam's alternative in the version for earlier PowerPoint releases, which wouldn't
support some of the properties my approach needed to address to preserve graphics
As an aside, Shyam is a great example of the Office Developer community, many of whom post articles and code on the web for anyone to use, and are only too happy to help anyone they can. Whenever I manage to figure out something I think will interest people, I tend to make it available on my website, and I've made many friends around the world from the correspondence this generates.
One hurdle for me on this project was that some of the functionality in Word and Excel which makes add-in creation a breeze just isn't there in PowerPoint. So, for instance, rather than simply attaching a custom toolbar to my add-in file, I had to get it to build its own on start up, which it then deletes on exit. These little foibles aside, PowerPoint's VBA implementation seems pretty good, and I think I'll be back to tinker with it again before too long!
You can download a full free version of Ray's File Extractor from Ray'swebsite...
Installation is an easy affair, although you need to manually activate the add-in within PowerPoint as per the instructions included with the download. Ray's File Extractor shows up as a new toolbar in PowerPoint (see screenshot).
- I first opened a presentation that contained 62
slides and then changed the view to Slide Sorter (View | Slide Sorter).
- Then I chose around 15 important slides and clicked
the 'Extract to new presentation' button within the File Extractor toolbar
- Almost immediately, I had a new presentation created
that comprised those 15 slides - all I needed to do now was to save the
- You can also choose to create a new presentation
that has no template applied (rather, a blank template) using the 'Extract
without template' button.
For what it does, File Extractor is a one-trick pony - yet it does exactly what it promises and receives a positive verdict from me. It's indispensable if you need to create new presentations from existing content and you cannot beat the price. Thank you, Ray.