Change the spell-checking language on a PowerPoint presentation

I know an answer has been accepted already (which I gave +1 to since it works and is well written), but to some people the idea of creating, saving, using a macro may be too scary (or they may have security settings in place that make this hard to achieve). So an easier solution is to use normal built-in functionality to do this. The trick is to be able to select all the objects on all the slides at once, rather than the slides themselves, and this is easily achieved in the Outline view (sadly an underused feature, but great for reorganising a slide deck, promoting and demoting whole chunks, eg bullets > new slides or vice versa).

I don't have PowerPoint 2002 ("XP") so I am not sure if you need to follow instructions for 2000 or for 2003 so I cover both here:

  • In PP 2000: Go to the outline view, which is the second icon from the left at the bottom left of the screen (looks like lines with indentations).
  • In PP 2003 onwards: Go to the "normal" view (three pane layout) and at the top of the slide navigator choose "outline" rather than "slides"

In older versions, make sure you have the Outlining toolbar visible (View > Toolbars > Outlining) and click the Expand all button (later versions let you get at this through right click).

  • Ctrl-A to select all.
  • Tools > Language > Choose your language to set.
  • (from Powerpoint 2013) REVIEW > Language > Set Proofing language

Job done.

Likewise while you have everything selected you can change other things like fonts, colours etc. Although of course in many case this is better done by changing the slide master, a presentation that has had many editors may have lots of 'hard' formatting set which deviates from the underlying master and needs resetting to be consistent. You can also reset individual slides to the master style, but this may result in placeholders moving as well, which may be undesirable in some situations.


This thread contains the answer that worked for me.

The steps I followed were:

  1. Create a new macro:
    1.1. Go to Tools, Macro, Visual Basic Editor.
    1.2. Insert a new empty module by selecting Insert, Module.
  2. Paste this code on the right panel and save the macro:

    Option Explicit  
    Public Sub ChangeSpellCheckingLanguage()  
        Dim j As Integer, k As Integer, scount As Integer, fcount As Integer
        scount = ActivePresentation.Slides.Count
        For j = 1 To scount
            fcount = ActivePresentation.Slides(j).Shapes.Count
            For k = 1 To fcount
                If ActivePresentation.Slides(j).Shapes(k).HasTextFrame Then
                    ActivePresentation.Slides(j).Shapes(k) _
                    .TextFrame.TextRange.LanguageID = msoLanguageIDEnglishAUS
                End If
            Next k
        Next j
    End Sub
    

    msoLanguageIDEnglishAUS can be replaced by any desired language. The full list of languages can be found here.

  3. Execute the macro (by pressing F5 within the editor, or by selecting Tools, Macro, Macros, ChangeSpellCheckingLanguage, and clicking Run).

After that all text elements within the presentation will have the new spelling language.


After many presentations where I did it by hand or used a one-off macro, I finally broke and made it into a proper PowerPoint Add-In.

I've uploaded it to my web site: PowerPoint LanguageFixer

It takes care of:

  • setting the default language
  • all shapes with text frames
  • text frames in grouped shapes (as far as possible)
  • text in tables
  • stuff on the slide/note/handout master

Just set one of the text boxes to the language you want, select it and click the button.