1
votes

I'm just wondering if it's feasible to create interactive custom element for PowerPoint and add it to presentation programmatically using OpenXml for example.

For instance, we can insert a picture on a slide. So, I want to insert a picture on the slide and be able to change size, colour or shape right in playing mode. Another example, I want to have buttons on my presentation and be able to click on it to get some action done, again, right in playing mode. In other words, I want to make my presentation interactive during the playing mode.

The first thing that I came up with, is using VSTO to create a plug-in, however as far as I know VSTO and OpenXml give an opportunity to play with XML structure and that's it.

Maybe I googled it incorrectly and used wrong keywords but I've found nothing

UPDATE

One of the possible ways that it can be done with (I think so) is adding a custom object, like excel spreadsheet. However, in presentation mode, it's not interactive either.

Adding a new object

1

1 Answers

2
votes

VSTO can create COM add-ins that work with the PowerPoint object model directly; you don't necessarily need to do anything with XML.

You can also create add-ins using the VBA that's built into PowerPoint or distribute presentations that include VBA.

A VSTO or VBA add-in solution would require that the user install your software, which may or may not be practical in your situation.

VBA in the presentation file itself, saved as a PPTM rather than PPTX, could probably do all that you want to do. It would require no special installation, but the user's security settings would have to permit macros.

Anything that involves a code solution would need to be permissible under the user's or enterprise's security restrictions, of course.

While you can't change picture size etc in slideshow mode, you can add action buttons that add some forms of interactivity to your presentation; these require no code at all. It's a built-in PPT feature.