VBA & Macro Problems

How to Make PowerPoint Read Only Slide Text Aloud Using VBA

Phi Hung VoPhi Hung Vo Oct 28, 2026 868 views

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.

How to Make PowerPoint Read Only Slide Text Aloud Using a VBA Macro
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.
Before you start

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.

Solution 1Recommended

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.

1
Open the Visual Basic Editor

Press Alt + F11 in PowerPoint to open the Visual Basic Editor window.

2
Insert a New Module

Select Insert > Module from the top menu, or press Alt + I, then press M, to create a new blank module.

3
Paste the Macro Code

Paste your text-to-speech VBA macro code into the blank module window, then close the Visual Basic Editor.

4
Save as Macro-Enabled Presentation

Go to File > Save As, and choose PowerPoint Macro-Enabled Presentation (*.pptm) from the file format dropdown.

5
Run the Macro

Press Alt + F8 to open the Macro dialog box, select your macro (e.g., 'SpeakThePresentation'), and click Run.

Create and Run a VBA Macro to Read Slide Text
Macro Limitations: This VBA script works exclusively on Windows PowerPoint and only extracts text from standard text boxes. It cannot read tables, charts, or SmartArt, and may lack a stop control function.
Efficient Presentation Management

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. 1. Open Your Presentation: Launch WPS Presentation and open your saved .pptm file containing the read-aloud macro.
  2. 2. Access Developer Tools: Navigate to the Developer tab in the top ribbon menu to access macro controls.
  3. 3. Run the Macro: Click on Macros (or press Alt + F8), select your text-to-speech macro from the list, and click Run.
Fully compatible with Microsoft PowerPoint (.ppt, .pptx, .pptm) formatsBuilt-in developer tools to easily manage, edit, and run VBA macrosLightweight design ensures smooth performance even with large, macro-heavy presentationsFree to download with an intuitive, familiar user interface
microsoft office alternative - wps office

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.