Going through the comments, i have seen a couple of reader questions on how to work with Visual Basic Input and Message boxes in PowerPoint.
In this tutorial we’ll provide a very basic foundational knowledge to help you use those capabilities when automating your presentation creation.
Setting up the Developer Tab
First off, we’ll need to enable the developer environment for PowerPoint. Follow this tutorial to set up your development tab.
In PowerPoint, go to the Developer menu, and hit Visual Basic.
In the Project tree, right click your presentation, hit Insert and then pick Module. A new VBA Module will be created, that’s the place in which you’ll write your code.
Message Boxes in PowerPoint
Message boxes are kind of self explanatory, their goal is to display some useful information to the end user. Write the following code in your Module:
Sub simplemessagebox() MsgBox ("This is a simple message box") End Sub
Hit F5 or Run and see the result:
Message and Input Box example
Unlike Message Boxes, input boxes are used in order to obtain feedback from the user. Let’s look at the example below. The script automatically inserts new slides to the presentation.
Here’s what we’ll implement:
- We’ll first prompt the user for the number of slides to add (using an Input Box).
- We’ll then notify the user about the number of slides to be created (using a Message Box)
- Last, will go ahead and create the slides programmatically.
- Last we’ll save the modified presentation
Sub CreateSlidesMessage() Dim NumSlides As Integer Dim MsgResult As VbMsgBoxResult ' How many slides to create NumSlides = InputBox("Enter number of slides to create", "Create Slides") 'User confirmation MsgResult = MsgBox("Powerpoint will create " & NumSlides & " slides. Proceed?", vbApplicationModal, "Create Slides") 'create the slides If MsgResult = vbOK Then For i = 1 To NumSlides Set NewSlide = ActivePresentation.Slides.Add(Index:=i + 1, Layout:=ppLayoutBlank) Next i 'Save the Presentation ActivePresentation.SaveAs("Your Presentation.pptx") MsgBox ("Presentation Saved.") End If End Sub
Hopefully that helped, feel free to leave as comments as needed.