How to Make PowerPoint Read Only Slide Text Aloud Using VBA
Question details
The user wants to make PowerPoint read aloud only the visible text on slides, bypassing the object labels that the built-in speech features typically read.

- Product
- PowerPoint
- Device & OS
- Windows
- Scenario
- Using text-to-speech functionality in a presentation to read slide content automatically without selecting text manually.
- Observed behavior
- Built-in accessibility features read unwanted object labels and alternative text. A VBA macro is needed to specifically target and read only the text within text boxes.
Ensure you have the text-to-speech VBA macro code ready to paste and that your PowerPoint security settings are configured to allow macros to run.
Create and Run a VBA Macro to Read Slide Text
Use the Visual Basic Editor to insert a macro that iterates through slide text boxes and reads the text aloud while ignoring object labels.
This method uses a Windows-only VBA macro to read text directly from standard text boxes, completely skipping object labels. Be aware that it will not read text inside tables, charts, or SmartArt, and stopping the playback mid-way may be difficult once the script is initiated.
Press Alt + F11 in PowerPoint to open the Visual Basic Editor window.
Select Insert > Module from the top menu, or press Alt + I, then press M, to create a new blank module.
Paste your text-to-speech VBA macro code into the blank module window, then close the Visual Basic Editor.
Go to File > Save As, and choose PowerPoint Macro-Enabled Presentation (*.pptm) from the file format dropdown.
Press Alt + F8 to open the Macro dialog box, select your macro (e.g., 'SpeakThePresentation'), and click Run.

Use WPS Presentation to Manage Slides and Macros Easily
WPS Office provides excellent compatibility with Microsoft PowerPoint files, including those with VBA macros (.pptm). You can seamlessly create, edit, and run macros to automate tasks like reading slide text aloud.
- 1. Open Your Presentation: Launch WPS Presentation and open your saved .pptm file containing the read-aloud macro.
- 2. Access Developer Tools: Navigate to the Developer tab in the top ribbon menu to access macro controls.
- 3. Run the Macro: Click on Macros (or press Alt + F8), select your text-to-speech macro from the list, and click Run.

Frequently Asked Questions
Why does PowerPoint's default read aloud feature include object labels?
PowerPoint's built-in speech and accessibility features are designed primarily for screen readers, which automatically read alternative text and object labels to assist visually impaired users. A custom VBA macro overrides this behavior by specifically targeting only text box contents.
Can I stop the VBA macro from reading once it starts?
Depending on the specific VBA code used, stopping the macro may be difficult. Standard loops reading slide text aloud through VBA often have limited or no built-in stop controls until the script finishes processing all the slides.
Why doesn't the macro read text in tables, charts, or SmartArt?
The specific VBA code for reading standard text boxes targets 'Shape' objects containing text frames. Tables, charts, and SmartArt are entirely different object types in the PowerPoint object model and require additional, more complex code to parse and read their specific text.
How do I run the macro on a different presentation without copying the code?
If the macro is saved in a separate presentation, open both that file and the presentation you want to read. Make the presentation you want to read the active window, press Alt + F8 to open the Macro dialog, and choose 'All open presentations' from the 'Macros in' dropdown to select and run your script.




