PowerPoint 2007: Set language for all textDecember 30, 2009
I can’t believe that PowerPoint 2007 (which I like much more than PowerPoint 2003) doesn’t have a ‘set language’ setting for all text in a PowerPoint slide deck!
How did I find out that it doesn’t? I downloaded a slide template from the Microsoft Online site that happened to be set to French Canadian. I noticed that common words were coming up with the red squigglies, and when I right-clicked to check, the spelling options were in French and the language on the status bar said so.
I tried to select all slides and change the language to English (US), as I believe you could do in PowerPoint 2003. No such luck. When you select all slides from the thumbnails on the left or the Outline view, the Language option on the Review tab is grayed out in PowerPoint 2007 and there’s nothing in the PowerPoint options that allows you to set the language for the current slide deck. The only way the Language option works is if you go through your presentation slide by slide, selecting the text boxes on EACH slide and resetting the language for that slide. Painful!!
Off to the internet… There’s very little about this on the Microsoft Office Communities forums (as an aside, despite being one of those people who’s willing to spend the time looking for an answer, I find those Microsoft forums really frustrating to use and search, and half the time the selected post on a thread doesn’t display for me in IE8).
However, I had a bit better luck with a Google search. Here are a couple of solutions I found, both of which involve macros.
- http://chocotooth.blogspot.com/2008/04/how-to-set-language-in-powerpoint.html (I have copied this macro at the end of this post, in case it goes missing from the site I’ve linked to)
I used the first one and it worked well. I changed the ‘msoLanguageIDEnglishUK’ language in that macro to ‘msoLanguageIDEnglishUS’, then ran the macro on the current slide deck. I understand this macro only works on the slide deck it is assigned to, so it’s not a solution for changing multiple slide decks at once. But at least I didn’t have to go to every slide and change the language setting for the text boxes on each one.
I still can’t believe that what I consider basic functionality in Microsoft Word, does not exist in PowerPoint 2007. At least, not without adding and running a macro, something that I suspect is outside the understanding of most standard PowerPoint users.
[Links last checked December 2009]
<br /> <pre>Sub SetLangUK()<br /> 'set language to UK for all slides and notes:<br /> Dim scount, j, k, fcount<br /> scount = ActivePresentation.Slides.Count<br /> For j = 1 To scount<br /> fcount = ActivePresentation.Slides(j).Shapes.Count<br /> For k = 1 To fcount 'change all shapes:<br /> If ActivePresentation.Slides(j).Shapes(k).HasTextFrame Then<br /> ActivePresentation.Slides(j).Shapes(k).TextFrame _<br /> .TextRange.LanguageID = msoLanguageIDEnglishUK<br /> End If<br /> Next k<br /> 'change notes:<br /> fcount = ActivePresentation.Slides(j).NotesPage.Shapes.Count<br /> For k = 1 To fcount 'change all shapes:<br /> If ActivePresentation.Slides(j).NotesPage.Shapes(k).HasTextFrame Then<br /> ActivePresentation.Slides(j).NotesPage.Shapes(k).TextFrame _<br /> .TextRange.LanguageID = msoLanguageIDEnglishUK<br /> End If<br /> Next k<br /> Next j<br /> End Sub<br />