Hi peterp,
to change the language selection for your whole document,
1) select the "Outline" view (on top of the small window on the left)
2) click into the window that shows you the "Outline" view (without
selecting any text),
3) press CTRL+A to select the whole text,
4) select your language from the extras menu as you usually do when
creating new text boxes.
That should have done it.
If you experience trouble or require additional information feel free
to request a clarification at any time.
voyager-ga
Search Strategy:
Powerpoint Help: Outline View |
Request for Answer Clarification by
peterp-ga
on
06 May 2003 05:20 PDT
voyager-ga,
This is very good and works on all the text that shows up in outline
mode.
However, if the text is not listed in the outline mode it still does
not change the language. I still need to do this by going to each
slide ctrl A and then change the langauge. Since the material I have
has numerous text boxes I stiil essential need to change the language
on each slide one at a time.
Any suggestions to resolve text boxes?
Thanks
Peter
|
Clarification of Answer by
voyager-ga
on
06 May 2003 11:26 PDT
Hi peterp,
I'm sorry that I didn't give you a complete answer to your question. I
will try to find a solution to this problem ASAP. Sorry for the delay.
voyager-ga
|
Request for Answer Clarification by
peterp-ga
on
06 May 2003 12:06 PDT
voyager-ga,
I did look back and I was quite clear concerning the text boxes. I
looked another hour myself today since it is down to simply being able
to select the text.
I have not seen a way to select all the text including text boxes for
all powerpoint slides at the same time. I know how to use ctrl a and
do slide by slide.
Thanks
Peter
|
Clarification of Answer by
voyager-ga
on
06 May 2003 17:59 PDT
Hi Peter,
I was not trying to imply that you didn't clearly state that you
wanted an answer concerning text boxes - I have to appologize for
completely misinterpreted this part.
I will continue to look for a better solution, but I have found a way
that might provide an easier approach to changing the language:
1) Start Macro>Script-Editor (ALT+SHIFT+F11)
2) In the Project Explorer Window: Open all relevant pages (this is
the tedious part)
3) Press CTRL+H to get the search and replace dialogue box
4) Enter e.g. lang=EN-US (for US-English) into the search filed
5) Enter e.g. lang=ES-TRAD (for Spanish-Traditional) into the replace
field
6) Select replacement in all open documents
7) Press the replace all button
8) Apply the changes with the little popup window that pops up when
you change back to your powerpoint presentation.
All the text-boxes should now be in traditional Spanish.
I know that this isn't the most simple solution, but combined with my
first answer it should at least help a little. I will return to this
question tomorrow and see if I can come up with a way of solving this
issue with a macro.
Again, I have to say sorry for the delay. If I can't come up with your
solution tomorrow, I will ask the editors to remove my answer, so
another researcher can try to solve this problem.
voyager-ga
|
Request for Answer Clarification by
peterp-ga
on
06 May 2003 20:08 PDT
voyager,
I just wanted to double check to make sure I was clear on my question.
Thanks for letting the question go to give another person a chance if
you don't get it in another day. There should be a way. I thought of
creating a new desihn template in Mexican Spanish and importing the
slides but it also did not seem to work at least for me.
Reagrds,
Peter
|
Clarification of Answer by
voyager-ga
on
07 May 2003 03:42 PDT
Hi Peter,
it took me quite a while and I had to learn VBA Programming to do it,
but I think I finally managed to find a solution to the problem:
1) Start your Powerpoint
2) Start Extras>Macro>Visual Basic Editor (alternatively ALT+F11)
3) Create a new Module in the Objekt Browser (ask for clarification if
you have problems with this and I'll run you through it step by step)
4) insert the Text below into the new module window:
--- Save text below
Sub ToMexicanSpanish
Dim oSld As Slide
Dim oShp As Shape
For Each oSld In ActivePresentation.Slides
For Each oShp In oSld.Shapes
If oShp.Type = msoGroup Then
For I = 1 To oShp.GroupItems.Count
Call FindAndChgLang(oShp)
Next I
Else
Call FindAndChgLang(oShp)
End If
Next oShp
Next oSld
End Sub
Function FindAndChgLang(oShp As Shape)
Dim I As Integer
Dim oTxtRng As TextRange
On Error Resume Next
If oShp.HasTextFrame Then
If oShp.TextFrame.HasText Then
Set oTxtRng = oShp.TextFrame.TextRange
For I = 1 To oTxtRng.Runs.Count
oTxtRng.Runs(I).LanguageID = msoLanguageIDMexicanSpanish
Next I
End If
End If
End Function
--- Save text above
6) Close the Editor and go back to your Powerpoint
You can now apply the macro throu the Macro menu or you can make an
icon specifically for this macro (it is listed in the macro section if
you right click next to your existing icons in the icon bar and select
the customize option)
If you have any troubles with my script, feel free to request a
clarification. I tested it on normal text and text boxes and it worked
on both on my system.
Sorry again for the delay - but I hope it was worth it!
voyager-ga
|
Clarification of Answer by
voyager-ga
on
07 May 2003 03:48 PDT
Hi Peter,
there's one small typo in the script - the first line should read
Sub ToMexicanSpanish()
instead of
Sub ToMexicanSpanish
the editor would have corrected that automatically - but I don't want
to take any chances.
voyager-ga
|
Request for Answer Clarification by
peterp-ga
on
07 May 2003 06:50 PDT
voyager,
Almost there.
1. I was able to get the macro working and it changes most text to
Mexican Spanish. However, it does not change text that is "grouped"
together. I needed to first ungroup the text. Note the one slide at a
time method does change all text included grouped text.
2. I was not clear how to save the macro so it can be used by all
files and the icon. Perhaps a little more direction or a link. I have
a friend who knows macros so he could help if is difficult to explain.
3. What are the msoLanguageIDMexicanSpanish for Italian and English
and Brazilian Portuguese.
Thanks for you hard work.
Peter
|
Clarification of Answer by
voyager-ga
on
07 May 2003 17:13 PDT
Hi Peter,
I'm pretty confident, we can work out the last problems, too:
3) Language Codes:
Italian: msoLanguageIDItalian
English: msoLanguageIDEnglishUK (original English)
English: msoLanguageIDEnglishUS (US English)
Brazilian Portuguese: msoLanguageIDBrazilianPortuguese
1) Ok, I didn't check well enough - this was a bug in my programm:
---
Sub ToMexicanSpanish()
Dim oSld As Slide
Dim oShp As Shape
For Each oSld In ActivePresentation.Slides
For Each oShp In oSld.Shapes
Call CrawlShapes(oShp)
Next oShp
Next oSld
End Sub
Function FindAndChgLang(oShp As Shape)
Dim I As Integer
Dim oTxtRng As TextRange
On Error Resume Next
If oShp.HasTextFrame Then
If oShp.TextFrame.HasText Then
Set oTxtRng = oShp.TextFrame.TextRange
For I = 1 To oTxtRng.Runs.Count
oTxtRng.Runs(I).LanguageID = msoLanguageIDMexicanSpanish
Next I
End If
End If
End Function
Function CrawlShapes(oShp As Shape)
If oShp.Type = msoGroup Then
For I = 1 To oShp.GroupItems.Count
Call CrawlShapes(oShp.GroupItems.Item(I))
Next I
Else
Call FindAndChgLang(oShp)
End If
End Function
---
It should now work with grouped text, too.
2) To permanently add your macro to e.g. your Powerpoint menues or to
an icon bar, you'll have to make it into an add-in. How you can do
this is demonstrated in this MS Knowledge Base article.
Microsoft Knowledge Base Article - 222737
PPT2000: How to Create a PowerPoint Add-In
http://support.microsoft.com/default.aspx?scid=http://support.microsoft.com:80/support/kb/articles/Q222/7/37.ASP&NoWebContent=1
I hope you found this clarification helpful! Should you encounter any
problems with the code or my explanation, feel free to ask for
clarification at any time.
voyager-ga
|