Setting the language for all text in PowerPoint

As a native English speaker in Belgium I often get asked to proof-read text. I usually ask people to run a spell-checker first.

PowerPoint does not seem to have a simple way to select all text and then set the language. Frequently I get a .ppt files with basic spelling errors in the text boxes as they are set to Dutch spelling.

Here’s a recipe for setting the language for an entire PowerPoint presentation:

  • In PowerPoint select Tools / Macro / Visual Basic Editor. The editor window will pop-up
  • Select Insert / Module and a blank document will appear
  • Paste the following Visual Basic Macro into the blank document:
Sub SetLanguageInAllFrames()
For s = 1 To ActivePresentation.Slides.Count
For f = 1 To ActivePresentation.Slides(s).Shapes.Count
If ActivePresentation.Slides(s).Shapes(f).HasTextFrame Then
ActivePresentation.Slides(s).Shapes(f).TextFrame.TextRange _
.LanguageID = msoLanguageIDEnglishUS
End If
Next f
Next s
End Sub
  • Close the Visual Basic Editor and return to your presentation
  • Select Tools / Macro / Run Macros …
  • Run the macro SetLanguageInAllFrames

Now all of your text will be marked as US English and you can use the normal spell checker.

(You may need to enable macros before you can run it – leave a comment f you have problems. The VB code is based on this example from antonin_1955)


9 Responses to Setting the language for all text in PowerPoint

  1. Will says:

    You don’t have to use US English of course. You can replace msoLanguageIDEnglishUS with any other valid language ID. Thanks Simon!

  2. Dinner with Scoble: debrief

    Thursday night we had the Brussels Geek Dinner. I enjoyed it very much, not only because of the presence…

  3. Mike Reys says:

    This is exactly what I needed, I’ll distribute this article througout the office…

  4. Dirk van Gorkum says:

    It did not work on all textboxes.
    I found anothet macro that seems to work better:

  5. Will Moffat says:

    Thanks for the pointer Dirk. That does seem like a good solution. Maybe one day I’ll package it all together and make an add-on for Office.

  6. Francis says:

    How can it work with text in the Note zone?
    What is the shape’s type of a Note Rectangle?

  7. Raphie Hayat says:

    Will, you are a KING!
    Thanks for this Macro, saved me a lot of trouble!

  8. Richard says:


  9. Option Explicit says:

    If you get

    “Compile error:
    Variable not defined”

    This means you have “Option Explicit” in the Module and this requires all variables to be declared.

    Just add:

    “Dim s, f As Integer”

    before the

    “For s = 1 To …” code

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: