Setting language for entire presentation all at once / Selecting all slides and all objects on all slides at once

Anonymous
2010-02-03T14:45:00+00:00

I want to change the language for spell checking after translating. I don't want to click each slide and then use Select All to select all objects on the slide and then set the language. There has to be a better way but I've never found it. Basically seems like a problem of not being able to select every object in a presentation at once (would have same problem setting one font for an entire presentation).

-Things I've tried:

  1. Setting the language without previously selecting anything. (Doesn't change the language of any text.)
  2. Using Select All in Outline view and then setting the language. (No change.)
  3. Using Select All in Slide view and then setting the language (Select All selects all objects on that slide.)

-I have to be missing something because this seems like basic functionality. I haven't been able to figure this out in earlier versions either.

Microsoft 365 and Office | PowerPoint | For home | Windows

Locked Question. This question was migrated from the Microsoft Support Community. You can vote on whether it's helpful, but you can't add comments or replies or follow the question.

0 comments No comments
Answer accepted by question author
Anonymous
2010-02-04T02:20:57+00:00

Try the following steps:-

Step 1:- By using Macro we can change the language in powerpoint for all slides.

Create a new macro:

  1. Go to Tools, Macro, and Visual Basic Editor.
  2. Insert a new empty module by selecting Insert, Module.
  3. 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

Step 2:- This "msoLanguageIDEnglishAUS" which is used in the above macro can be replaced by any desired language. The full list of languages can be found in this article http://msdn.microsoft.com/en-us/library/aa432635.aspx

Step 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.


Ganesh Kumar N, Microsoft Answers Support Engineer.

• We appreciate your participation in MS Forums, Help us understand your needs better. To share your valuable Feedback please Click here.

Was this answer helpful?

100+ people found this answer helpful.
0 comments No comments
Answer accepted by question author
Anonymous
2010-02-03T21:51:21+00:00

I want to change the language for spell checking after translating. I don't want to click each slide and then use Select All to select all objects on the slide and then set the language. There has to be a better way but I've never found it. Basically seems like a problem of not being able to select every object in a presentation at once (would have same problem setting one font for an entire presentation).

-Things I've tried:

  1. Setting the language without previously selecting anything. (Doesn't change the language of any text.)
  2. Using Select All in Outline view and then setting the language. (No change.)
  3. Using Select All in Slide view and then setting the language (Select All selects all objects on that slide.)

-I have to be missing something because this seems like basic functionality. I haven't been able to figure this out in earlier versions either.

Hi

I think the code here will do what you want:

http://support.microsoft.com/default.aspx?scid=kb;en-us;245468

Lucy


Lucy Thomson

PowerPoint MVP

an easier tomorrow

Was this answer helpful?

6 people found this answer helpful.
0 comments No comments

102 additional answers

Sort by: Most helpful
  1. Steve Rindsberg 99,176 Reputation points MVP Volunteer Moderator
    2014-05-09T15:50:05+00:00

    Just so you know, there *are* addins that will do this for you (considerably more thoroughly than the code above).  My Language Selector is one (http://www.pptools.com/languageselector/index.html) and John Wilson's Lingo is another (http://www.pptalchemy.co.uk/Real_Lingo.html)

    Writing an entire high-quality add-in is beyond the scope of this forum, but to get you started, here's an example of how you might adapt the code above to handle groups of shapes with text:

    Sub Example()

    Dim oSh As Shape

    Dim oSl As Slide

    For Each oSl In ActivePresentation.Slides

        For Each oSh In oSl.Shapes

            Call DoSomethingToText(oSh)

        Next    ' Shape

    Next    ' Slide

    End Sub

    Sub DoSomethingToText(oSh As Shape)

        Dim x As Long

        If oSh.Type = msoGroup Then ' it's a group

            For x = 1 To oSh.GroupItems.Count

                Call DoSomethingToText(oSh.GroupItems(x))

                ' Yes. A subroutine can call itself.

            Next

        Else

            ' now we're down to the ungrouped level:

            If oSh.HasTextFrame Then

                oSh.TextFrame.TextRange.Text = "HERE WE ARE"

            End If

        End If  ' Group or not

    End Sub

    In real life, you'd need to add more logic to DoSomething; you'd want to have it handle tables, SmartArt and so on differently, more like so:

        Select Case oSh.Type

            Case msoGroup

                For x = 1 To oSh.GroupItems.Count

                    Call DoSomethingToText(oSh.GroupItems(x))

                    ' Yes. A subroutine can call itself.

                Next

            Case msoTable

                ' step through each cell in the table and

                ' pass the associated shape back to DoSomething

            ' other special cases

            Case Else

                If oSh.HasTextFrame Then

                    oSh.TextFrame.TextRange.Text = "HERE WE ARE"

                End If

        End Select

    Was this answer helpful?

    1 person found this answer helpful.
    0 comments No comments
  2. Anonymous
    2014-03-12T19:48:24+00:00

    Unfortunately it really isn't.

    The language of text in tables, textboxes (not placeholders), smart art , groups , shapes etc will not be changed.

    Was this answer helpful?

    1 person found this answer helpful.
    0 comments No comments
  3. Anonymous
    2013-08-14T13:21:33+00:00

    Thank you!

    That was easy. I was about to get crazy, all my French words underlined in RED!!

    Now it does work!

    Thanks again.

    Sylvain Petit

    Was this answer helpful?

    1 person found this answer helpful.
    0 comments No comments