Powerpoint CMS Database

Posted on 2014-08-09
Last Modified: 2014-08-25

I am interested in a creating (for personal professional use) a database that can manage all my powerpoint content.  The solution design I am thinking of is:

- Using Microsoft Access as database for the custom built-application - including it's forms, programming and querying capability
- Having the ability to upload powerpoint presentations to this application
- Having the ability to segment presentations uploaded into individual slides
- Having the slides / presentations stored in a repository locally (as I guess in db itself it would snowball the size of access db)
- Having a GUI to control metadata for each slide to enable easy searching
- Having a 'shopping basket' approach to downloading content - e.g. you can search multiple slides and it will show a gallery of the slides and you can select the ones you want to download and this will then dynamically create a ppt for you
- Having the ability to 'flag for duplicates' in slides so you only see relevant slides as well as favourite slides,
- Having ability to have a metadata export whenever downloading slides to know exactly where downloaded slides reside on file directory including slide number.

A big part of the feasibility of this is how the Powerpoint controllability works in VBA (e.g. how do you write VBA to access files and slides) and how to manage the file storage, metadata and search functionality.

I am interested in any viewpoints with technical details as to how this can be done including understanding how the VBA model within Access or across the MS Office platform will support this application.

Note there are some cloud based off-the shelf solutions but I want to build my own as I believe I can do it better and cheaper.  

The objective I have here is to be able to rapidly search for content and presentations and avoid the process of always digging around for things.   The Metadata layer gives a low maintenance way of controlling access to the presentation content.

I have some background in building Microsoft Access databases and conceptual understanding of VBA having used many years ago now.  So I know in 'theory' this is possible. Just want to understand practical guidance on how this can be achieved.
Question by:hennanra3
    LVL 74

    Expert Comment

    by:Jeffrey Coachman
    You may be a bit too ambitions here.

    You would struggle to get Access to do most of the things you are requesting here.

    About the most direct thing you can do with Access is to store the paths to the files, ...and manage the files. (copy,delete,move,open, delete, ...ect)

    Once you start wanting Access to manipulate the power point content, (Manipulate metadata, ...use code to search for strings insde a presentation, ...ect) ...this is a whole different world.

    To be fair, ...yes, Access and Powerpoint share the same development platform VBA.
    But getting good enough at both, the level you are describing here, ...will be quite a challenge.
    Again, be fair,   what you are describing here will be more intensive in VBA for Powerpoint than Access.
    VBA for powerpoint is a thinly traded skill-set.
    So while there are some books on it, will find the most vba in Access and Excel.
    So see these links as a start:

    Lets see what other experts may add.


    LVL 47

    Accepted Solution

    Actually, Jeff, you might be surprised.  I've done most of what the OP has asked for.  Unfortunately, it was on a govt system, and I was unable to copy the application when I left that job.  

    The application I wrote allowed the user to select a ppt brief.  It allowed me to catalog the slides, add titles and meta data about each slide into a database, control the slideshow from the application by selecting browsing to a slide in a list within the application, then change to that slide in the presentation.

    We used it to plan form briefings to senior govt officials, so we could rehearse and record how long we spent on each slide.  Then, based on how long we actually had for the briefing, we would set a target duration for each slide, and when we approached that time on each slide, it would automatically display a yellow circle in the bottom right corner.  When we passed the time, the circle would turn red, and we could even configure it to flash if we wanted to.

    Microsoft Dev Center has a short article on controlling a PPT brief from Access.  From there it is just a hop, skip, and a jump to most of what the OP asked for.

    The biggest challenge will be the "slide library" aspect of things, and flagging for "duplicates".  It is easy to copy (via code) a slide from one presentation to another, but this could create some awfully massive presentations.  It would be easier to copy a presentation into a library, and store the name of the presentation, and the metadata about each slide in your library database.  Then, when you search the database and select a number of slides you want to review, you could open those presentations, and pull copy each of the slides into a preview deck, that you could then browse through.

    Slide reuse is common in most organizations, but someone always wants to "tweak" the slides just a little, so what may have been "corporate office locations" on June 1, 2010 may have been revised several times, and if the slide title (the property, not what is displayed in a title textbox), has not changed, then you could have multiple copies of the "same slide", some may be identical, others may have various changes.

    In my last govt contractor position, we used sharepoint to store individual slides in a library, and could version the slides so we could actually look at the last 10 versions of the 'corporate locations' slide very easily, but as I recall that didn't provide a way for adding metadata (beyond the actual slide content).

    I'll have to dig through my XP system to see if I can find the pieces of that application that I toyed with at home during my personal time.
    LVL 74

    Expert Comment

    by:Jeffrey Coachman
    My post was based on your statements:
    I have some background in building Microsoft Access databases and conceptual understanding of VBA having used many years ago now.

    My point was that if you are not well versed in Access VBA as Dale is, ...this type of project might be a quite challenge.

    So please continue on with Dale, seems he has the tools and the know-how to help you through this.


    Author Comment

    Hi There,

    Firstly many thanks Jeff for your contribution and to Dale for the very specific direction on how to do this - that is very helpful.

    I apologise also for not being clear in that I don't plan on building myself but just to indicate I know 'enough' to understand conceptually the process to discuss.   My plan is to hire a contractor online and in fact I have posted a job description but no-one responded which makes me thing I am indeed being too ambitious or at least too stingy in setting a low price!

    I would be grateful Dale if you could show specific content examples as a guidance for how to do this.   I also maybe can add what I was thinking which is a bit different from maybe your approach and I think maybe easier.

    Within powerpoint there is a Save as JPEG feature that basically converts all of the slides into jpegs.  What I was thinking was that if this was done via VBA, you could intelligently take the file properties like the file name, the slide number (based on the image jpeg number exported) etc.   This jpeg could also be visualized via a GUI tool and have metadata added.

    The actual opening of the relevant slide of manipulating powerpoint via Access - e.g. triggering the opening of x slide - is less important than being able to click on a link that opens the presentation and knowing that you need to go to slide 10 for example.   I mean there is an element of automation that simply isn't worth the coding effort.

    Regarding the duplication and metadata management screen, that would also be a case of simply seeing the slides displayed and manually identifying them as duplicates - I am not expecting an image algorithm or anything to figure that out as I am not rich enough to fund that development! :-).

    The other question I have (it got me thinking) is that maybe a web interface - e.g. Visual Studio.NET with SQL Server is a better because the visual part here is quite important and with Visual Studio.NET I assume that you can leverage the same object model of powerpoint (am I wrong here)?   I guess the downside of the Visual Studio approach is it's not localized so I have find a host but actually that's probably an upside if I can find a server that my colleagues can share internally.  I mean it is no longer my personal 'toy' :-).

    I am doing this is a personal endeavor as I am in a Sales role where I have to go through tons of content and it's a nightmare to do this - I have this 'vision' of how the metadata will make this an amazing tool.

    I appreciate if you can't add any more value - will close the post and award points in a few days if no more input but any advice on the above appreciated.

    LVL 47

    Expert Comment

    by:Dale Fye (Access MVP)

    I did not get a chance to look for the application piece/parts that I mentioned in my earlier post, over the weekend.  I'll try to do so in the next day or so and get back to you.


    Author Comment

    Hi Dale,

    Sure - I will keep checking back.  Many thanks.

    LVL 47

    Expert Comment

    by:Dale Fye (Access MVP)

    Sorry for losing track of this.  I think the bit of code that I was looking for is on my XP box which has been down for about a month with a bad power supply (I really need to get that fixed).  When I do, I'll look and see if I can find that code and post it back here.

    I hope the comments indicating that most of what you are looking to do can be done, and the couple of links to other articles will point you in the right direction.

    Featured Post

    How to run any project with ease

    Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
    - Combine task lists, docs, spreadsheets, and chat in one
    - View and edit from mobile/offline
    - Cut down on emails

    Join & Write a Comment

    Preface: When I started this series, I used the term CommandBars because that is the Office Object class that it discusses. Unfortunately, when Microsoft introduced Office 2007, they replaced the standard Commandbar menus with "The Ribbon" and rem…
    A simple tool to export all objects of two Access files as text and compare it with Meld, a free diff tool.
    This video teaches viewers how to fit pictures into slides, crop and remove backgrounds, and alter photos to look more professional.
    In Microsoft Access, learn how to use Dlookup and other domain aggregate functions and one method of specifying a string value within a string. Specify the first argument, which is the expression to be returned: Specify the second argument, which …

    754 members asked questions and received personalized solutions in the past 7 days.

    Join the community of 500,000 technology professionals and ask your questions.

    Join & Ask a Question

    Need Help in Real-Time?

    Connect with top rated Experts

    19 Experts available now in Live!

    Get 1:1 Help Now