Edit text during a slide show
Problem
Suppose you want to be able to add or edit text during a slide show.
In normal view, you'd simply click a shape and add text to it or edit the text that's already there. In slide show view, you can't select anything.
It seems like a dead end, yes?
No. Read on ...
Solution
While you can't select shapes during a slide show, you can add Action settings to them so that they do useful things when you click or hover the mouse over them. One of the Actions you can assign is Run Macro, which causes PowerPoint to run the VBA macro you've assigned to the shape. And that's how we'll edit the shape's text.
- Add a new VBA module to your presentation and copy/paste this code into it. See How do I use VBA code in PowerPoint? to learn how to use this example code.
Sub AddText(oSh As Shape) Dim sTemp As String ' Pick up any existing text ' in the shape so we can use it ' as the default text in the next step sTemp = oSh.TextFrame.TextRange.Text ' Get the new text: ' sTemp = InputBox("Enter new text (or just a space to delete the text", "Edit text", sTemp) ' If there's any text, apply it to the shape ' To remove text from the shape, enter just a space If Len(sTemp) > 0 Then oSh.TextFrame.TextRange.Text = sTemp End If ' refresh the slide SlideShowWindows(1).View.GotoSlide ( _ SlideShowWindows(1).View.Slide.SlideIndex) End Sub
Close the VBA editor to return to normal slide editing view.
Select a shape whose text you want to edit during a slide show then add a Run Macro action setting. Choose AddText as the macro to run.
Repeat for each shape you want to edit during your presentation. Unfortunately, you'll have to do them one at a time; PowerPoint won't let you apply the same action setting to multiple shapes.
Now start the slide show and click on one of your "macro-enabled" shapes. You'll get a box to enter text into. When you enter new text or change the existing text, your presentation should update automatically.