2012-06-04 10:01:31 +0000 2012-06-04 10:01:31 +0000
166
166

Hoe verander ik de taal van alle Powerpoint dia's in één keer?

Ik wil de proofing taal van al mijn dia’s in een Powerpoint veranderen. Ik heb geprobeerd de taal in te stellen via het Language Preferences menu, maar dit verandert alleen voor nieuwe powerpoints.

Antwoorden (8)

178
178
178
2013-03-17 17:29:41 +0000

Om de taal van de uitrusting PowerPoint gemakkelijk te wijzigen, opent u het tabblad Bekijken en selecteert u de weergave Outline.

Druk nu op

  • Ctrl+A om alles te selecteren.
  • GereedschapTaal → Kies de taal die u wilt instellen.

Op dezelfde manier kunt u, terwijl u alles hebt geselecteerd, andere dingen wijzigen, zoals lettertypen, kleuren, enz. Hoewel dit in veel gevallen natuurlijk beter gedaan kan worden door de diamaster te veranderen, kan een presentatie die veel editors heeft gehad veel ‘harde’ opmaak hebben die afwijkt van de onderliggende master en moet worden gereset om consistent te zijn. U kunt ook individuele dia’s resetten naar de master, maar dit kan ertoe leiden dat ook de plaatshouders verschuiven, wat in sommige situaties ongewenst kan zijn.

PowerPoint 2013

  • BekijkenOutline → selecteer alle dia’s (in een linkermenu) via Ctrl+A.
  • BekijkenTaalProeftaal instellen… → Kies de taal die u wilt instellen.

Wat mij betreft - PowerPoint Herstart was nodig. Waarschijnlijk omdat ik ook Bewerkende taal heb veranderd :

  • BekijkenTaalBewezen taal instellen…TaalvoorkeurenKiesbare bewerkingstalen.
34
34
34
2012-06-04 10:01:32 +0000

Met behulp van Powerpoint 2010 heb ik het Outline menu -

geselecteerd, het taalmenu geopend en mijn proeftaal

ingesteld En het werkte!

Het taalmenu bevindt zich op het tabblad Review ribbon (na het tabblad Slide Show en niet zichtbaar op de schermafbeelding).

24
24
24
2013-08-09 08:11:56 +0000

De bestaande antwoorden werken voor tekst die in het schema aanwezig is. Helaas heeft dit in mijn geval geen betrekking op een belangrijk deel van de tekst, inclusief cijfers, tabellen, etc.

Deze macro heeft het probleem voor mij opgelost :

Sub ChangeProofingLanguageToEnglish()
    Dim j, k, m, scount, fcount, gcount 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 = msoLanguageIDEnglishUS
            End If
            If ActivePresentation.Slides(j).Shapes(k).Type = msoGroup Then
                gcount = ActivePresentation.Slides(j).Shapes(k).GroupItems.Count
                For m = 1 To gcount
                    If ActivePresentation.Slides(j).Shapes(k).GroupItems.Item(m).HasTextFrame Then
                    ActivePresentation.Slides(j).Shapes(k).GroupItems.Item(m) _
                    .TextFrame.TextRange.LanguageID = msoLanguageIDEnglishUS
            End If
                Next m
            End If
        Next k
    Next j
End Sub

De “msoLanguageIDEnglishUS” die in bovenstaande macro wordt gebruikt, kan worden vervangen door elke gewenste taal. De volledige lijst met talen is te vinden in dit artikel

(Credit gaat naar Ganesh Kumar die de originele macro heeft gepost hier . Ik heb ondersteuning toegevoegd voor het eerste niveau van de vormgroepering. Om het verder te verbeteren kan de macro recursief worden gemaakt om te zoeken naar groepen die andere groepen bevatten, enz.)

22
22
22
2013-11-25 09:52:03 +0000

Ik heb Inigo’s antwoord verbeterd om een recursieve versie te leveren die alle items in de gewenste taal verandert.

Deze versie zal elke vorm die een groepstype is recursief onderzoeken. Sommige experimenten suggereren dat msoGroup en msoSmartArt de groepstypes zijn - voel je vrij om aan die lijst toe te voegen als je andere soorten vormen vindt die tekstobjecten kunnen bevatten.

Sub ChangeProofingLanguageToEnglish()
    Dim j As Long, k As Long
    Dim languageID As MsoLanguageID

    'Set this to your preferred language
    languageID = msoLanguageIDEnglishUK

    For j = 1 To ActivePresentation.Slides.Count
        For k = 1 To ActivePresentation.Slides(j).Shapes.Count
            ChangeAllSubShapes ActivePresentation.Slides(j).Shapes(k), _
              languageID
        Next k
    Next j
End Sub

Sub ChangeAllSubShapes(targetShape As shape, languageID As MsoLanguageID)
    Dim i As Long

    If targetShape.HasTextFrame Then
        targetShape.TextFrame.TextRange.languageID = languageID
    End If

    Select Case targetShape.Type
        Case msoGroup, msoSmartArt
            For i = 1 To targetShape.GroupItems.Count
                ChangeAllSubShapes targetShape.GroupItems.Item(i), languageID
            Next i
    End Select
End Sub
10
10
10
2016-07-09 09:41:22 +0000

Gebaseerd op de antwoorden van Inigo, Duncan, Maria en DomDev, werkt dit voor vormen, tafels, groepen, SmartArt, nu en in de toekomst:

Sub ChangeProofingLanguageToFrench()
    Dim j, k As Integer
    Dim languageID As MsoLanguageID

    'Set this to your preferred language
    languageID = msoLanguageIDFrench

    'Loop all the slides in the document, and change the language
    For j = 1 To ActivePresentation.Slides.Count
        For k = 1 To ActivePresentation.Slides(j).Shapes.Count
            ChangeAllSubShapes ActivePresentation.Slides(j).Shapes(k), languageID
        Next k
    Next j

    'Loop all the master slides, and change the language
    For j = 1 To ActivePresentation.SlideMaster.CustomLayouts.Count
        For k = 1 To ActivePresentation.SlideMaster.CustomLayouts(j).Shapes.Count
            ChangeAllSubShapes ActivePresentation.SlideMaster.CustomLayouts(j).Shapes(k), languageID
        Next k
    Next j

    'Change the default presentation language, so that all new slides respect the new language
    ActivePresentation.DefaultLanguageID = languageID
End Sub

Sub ChangeAllSubShapes(targetShape As Shape, languageID As MsoLanguageID)
    Dim i As Integer, r As Integer, c As Integer

    If targetShape.HasTextFrame Then
        targetShape.TextFrame.TextRange.languageID = languageID
    End If

    If targetShape.HasTable Then
        For r = 1 To targetShape.Table.Rows.Count
            For c = 1 To targetShape.Table.Columns.Count
                targetShape.Table.Cell(r, c).Shape.TextFrame.TextRange.languageID = languageID
            Next
        Next
    End If

    Select Case targetShape.Type
        Case msoGroup, msoSmartArt
            For i = 1 To targetShape.GroupItems.Count
                ChangeAllSubShapes targetShape.GroupItems.Item(i), languageID
            Next i
    End Select
End Sub
7
7
7
2014-05-22 13:36:52 +0000

De versie van Duncan werkt goed voor alles behalve tafels. Ik heb een andere code gevonden die ook met tabellen lijkt te werken: https://stackoverflow.com/questions/4735765/powerpoint-2007-set-language-on-tables-charts-etc-that-contains-text

Public Sub changeLanguage()
On Error Resume Next
Dim gi As GroupShapes '<-this was added. used below
'lang = "English"
lang = "Norwegian"
'Determine language selected
If lang = "English" Then
lang = msoLanguageIDEnglishUK
ElseIf lang = "Norwegian" Then
lang = msoLanguageIDNorwegianBokmol
End If
'Set default language in application
ActivePresentation.DefaultLanguageID = lang

'Set language in each textbox in each slide
For Each oSlide In ActivePresentation.Slides
Dim oShape As Shape
For Each oShape In oSlide.Shapes
'Check first if it is a table
If oShape.HasTable Then
For r = 1 To oShape.Table.Rows.Count
For c = 1 To oShape.Table.Columns.Count
oShape.Table.Cell(r, c).Shape.TextFrame.TextRange.LanguageID = lang
Next
Next
Else
Set gi = oShape.GroupItems
'Check if it is a group of shapes
If Not gi Is Nothing Then
If oShape.GroupItems.Count > 0 Then
For i = 0 To oShape.GroupItems.Count - 1
oShape.GroupItems(i).TextFrame.TextRange.LanguageID = lang
Next
End If
'it's none of the above, it's just a simple shape, change the language ID
Else
oShape.TextFrame.TextRange.LanguageID = lang
End If
End If
Next
Next End Sub
6
6
6
2016-07-04 12:52:11 +0000

Naast het antwoord van Mastergalen en om commentaar te geven op nieuw te typen tekst:

Als u merkt dat die taal automatisch terug verandert wanneer u nieuwe tekst begint te typen (wat erg vervelend is), moet u de huidige standaardtaal voor PowerPoint wijzigen:

  • zorg ervoor dat het PowerPoint-venster een actief venster is - in de Windows Taskbar (ja, eigenlijk niet in PowerPoint), controleer of Language bar zichtbaar is,
  • zo niet, ga dan naar Control Panel > Region and Language > Keyboards and Languages. Klik op Change keybords..., schakel over naar het Language bar tabblad en vink de optie Docked in the taskbar aan. (dit is van Win7, dus misschien een beetje anders in andere versies).
  • nu toetsactie - in de Language bar in de taakbalk, klik op taalcode en schakel over naar EN (als u op dit moment Engels in PowerPoint wilt gebruiken). Vanaf nu zal alle nieuwe tekst in PowerPoint in de geselecteerde taal zijn :-)
  • als je in je originele taal wilt schrijven, verander het dan gewoon terug.
3
3
3
2017-10-20 11:42:30 +0000

In 2014 heb ik voor mezelf een add-in gemaakt die nog steeds prima werkt in PowerPoint 2016. https://github.com/wobba/officeaddin/releases/tag/v1.0.1 ](https://github.com/wobba/officeaddin/releases/tag/v1.0.1)

Het scant op gebruikte talen en stelt je in staat om alles in één keer te veranderen, door middel van een looping over.