Download Macabacus and Macabacus Lite add-ins for Excel, PowerPoint, and Word. Download the #1 free timeline maker for Windows and PowerPoint to create professional timelines, Gantt charts and project slides.
-->You can use PowerPoint add-ins to build engaging solutions for your users' presentations across platforms including Windows, iPad, Mac, and in a browser. You can create two types of PowerPoint add-ins:
Use content add-ins to add dynamic HTML5 content to your presentations. For example, see the LucidChart Diagrams for PowerPoint add-in, which you can use to inject an interactive diagram from LucidChart into your deck.
Use task pane add-ins to bring in reference information or insert data into the presentation via a service. For example, see the Pexels - Free Stock Photos add-in, which you can use to add professional photos to your presentation.
PowerPoint add-in scenarios
The code examples in this article demonstrate some basic tasks for developing add-ins for PowerPoint. Please note the following:
To display information, these examples use the
app.showNotification
function, which is included in the Visual Studio Office Add-ins project templates. If you aren't using Visual Studio to develop your add-in, you'll need replace theshowNotification
function with your own code.Several of these examples also use a
Globals
object that is declared beyond the scope of these functions as:var Globals = {activeViewHandler:0, firstSlideId:0};
To use these examples, your add-in project must reference Office.js v1.1 library or later.
Detect the presentation's active view and handle the ActiveViewChanged event
If you are building a content add-in, you will need to get the presentation's active view and handle the ActiveViewChanged
event, as part of your Office.Initialize
handler.
Note
In PowerPoint on the web, the Document.ActiveViewChanged event will never fire as Slide Show mode is treated as a new session. In this case, the add-in must fetch the active view on load, as shown in the following code sample.
In the following code sample:
The
getActiveFileView
function calls the Document.getActiveViewAsync method to return whether the presentation's current view is 'edit' (any of the views in which you can edit slides, such as Normal or Outline View) or 'read' (Slide Show or Reading View).The
registerActiveViewChanged
function calls the addHandlerAsync method to register a handler for the Document.ActiveViewChanged event.
Navigate to a particular slide in the presentation
In the following code sample, the getSelectedRange
function calls the Document.getSelectedDataAsync method to get the JSON object returned by asyncResult.value
, which contains an array named slides
. The slides
array contains the ids, titles, and indexes of selected range of slides (or of the current slide, if multiple slides are not selected). It also saves the id of the first slide in the selected range to a global variable.
In the following code sample, the goToFirstSlide
function calls the Document.goToByIdAsync method to navigate to the first slide that was identified by the getSelectedRange
function shown previously.
Liveslides Powerpoint Add-in Download
Navigate between slides in the presentation
Camtasia Powerpoint Add In Download
In the following code sample, the goToSlideByIndex
function calls the Document.goToByIdAsync
method to navigate to the next slide in the presentation.
Get the URL of the presentation
In the following code sample, the getFileUrl
function calls the Document.getFileProperties method to get the URL of the presentation file.
Create a presentation
Your add-in can create a new presentation, separate from the PowerPoint instance in which the add-in is currently running. The PowerPoint namespace has the createPresentation
method for this purpose. When this method is called, the new presentation is immediately opened and displayed in a new instance of PowerPoint. Your add-in remains open and running with the previous presentation.
The createPresentation
method can also create a copy of an existing presentation. The method accepts a base64-encoded string representation of an .pptx file as an optional parameter. The resulting presentation will be a copy of that file, assuming the string argument is a valid .pptx file. The FileReader class can be used to convert a file into the required base64-encoded string, as demonstrated in the following example.