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

Wie kann ich die Sprache aller Powerpoint-Folien auf einmal ändern?

Ich möchte die Korrektursprache aller meiner Folien in einem Powerpoint ändern. Ich habe versucht, die Sprache über das Menü “Spracheinstellungen” einzustellen, dies ändert sie jedoch nur für neue Powerpoints.

Antworten (8)

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

Um die Sprache des ganzen PowerPoint einfach zu ändern, öffnen Sie die Registerkarte Ansicht und wählen Sie die Online-Ansicht aus.

Drücken Sie nun

  • Strg+A, um alle auszuwählen.
  • ToolsSprache → Wählen Sie die Sprache aus, die Sie einstellen möchten.

Während Sie alles ausgewählt haben, können Sie auch andere Dinge wie Schriftarten, Farben usw. ändern. Obwohl dies in vielen Fällen natürlich besser durch Änderung des Folienmasters geschieht, kann eine Präsentation, die von vielen Redakteuren bearbeitet wurde, viele “harte” Formatierungssätze haben, die vom zugrundeliegenden Master abweichen und zurückgesetzt werden müssen, um konsistent zu sein. Sie können auch einzelne Folien auf den Stil des Masters zurücksetzen, aber das kann dazu führen, dass sich auch Platzhalter verschieben, was in manchen Situationen unerwünscht sein kann.

PowerPoint 2013

  • AnsichtOutline → alle Folien (in einem linken Menü) mit Strg+A auswählen.
  • ReviewSpracheProofing-Sprache einstellen… → Wählen Sie die einzustellende Sprache.

Was mich betrifft - PowerPoint Neustart war erforderlich. Wahrscheinlich, weil ich auch die Bearbeitungssprache geändert habe:

  • ÜberprüfungSpracheProofing-Sprache einstellen…SpracheinstellungenBearbeitungssprachen wählen.
34
34
34
2012-06-04 10:01:32 +0000

Mit Powerpoint 2010 öffnete ich das Gliederungsmenü -

Ich markierte den gesamten Text (Strg+A), öffnete das Sprachmenü und stellte meine Korrektursprache ein

Und es funktionierte!

Das Sprachmenü befindet sich auf der Registerkarte Review Ribbon (nach der Registerkarte Slide Show und auf dem Screenshot nicht sichtbar).

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

Die vorhandenen Antworten gelten für Text, der in der Gliederung vorhanden ist. Leider deckte dies in meinem Fall einen wesentlichen Teil des Textes nicht ab, einschließlich Abbildungen, Tabellen usw.

Dieses Makro löste das Problem für mich :

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

Das “msoLanguageIDEnglishUS”, das im obigen Makro verwendet wird, kann durch jede gewünschte Sprache ersetzt werden. Die vollständige Liste der Sprachen finden Sie in diesem Artikel

(Dank geht an Ganesh Kumar, der das Originalmakro hier gepostet hat. Ich habe Unterstützung für die erste Ebene der Formgruppierung hinzugefügt. Um sie weiter zu verbessern, kann das Makro rekursiv gemacht werden, um nach Gruppen zu suchen, die andere Gruppen enthalten, usw.)

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

Ich verbesserte Inigos Antwort , um eine rekursive Version bereitzustellen, die alle Elemente in die gewünschte Sprache ändert.

Diese Version wird rekursiv jede Form untersuchen, die ein Gruppentyp ist. Einige Experimente legen nahe, dass msoGroup und msoSmartArt die Gruppentypen sind - Sie können diese Liste gerne ergänzen, wenn Sie andere Arten von Formen finden, die Textobjekte aufnehmen können.

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

Basierend auf den Antworten von Inigo, Duncan, Maria und DomDev, funktioniert dies für Formen, Tische, Gruppen, SmartArt, jetzt und in der Zukunft:

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

Die Version von Duncan funktioniert gut für alles außer Tabellen. Ich habe einen anderen Code gefunden, der auch mit Tabellen zu funktionieren scheint: 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

Zusätzlich zur Antwort von Mastergalen und um Kommentare bezüglich neu eingegebenen Textes anzusprechen:

Wenn Sie bemerken, dass die Sprache automatisch wieder zurückschaltet, wenn Sie beginnen, neuen Text einzugeben (was sehr ärgerlich ist), müssen Sie die aktuelle Standardsprache für PowerPoint ändern:

  • stellen Sie sicher, dass das PowerPoint-Fenster ein aktives Fenster ist
  • in der Windows Taskbar (ja, eigentlich nicht in PowerPoint), prüfen Sie, ob Language bar sichtbar ist,
  • wenn nicht, gehen Sie zu Control Panel > Region and Language > Keyboards and Languages. Klicken Sie auf Change keybords..., wechseln Sie zur Registerkarte Language bar und markieren Sie die Option Docked in the taskbar. (dies stammt aus Win7, könnte also in anderen Versionen etwas anders sein).
  • jetzt Schlüsselaktion - in der Language bar in der Taskleiste, Sprachcode anklicken und zu EN wechseln (wenn Sie derzeit Englisch in PowerPoint verwenden wollen). Von nun an ist der gesamte neue Text in PowerPoint in der gewählten Sprache :-)
  • wenn Sie in Ihrer Originalsprache schreiben wollen, ändern Sie diese einfach wieder zurück.
3
3
3
2017-10-20 11:42:30 +0000

Ich habe mir bereits 2014 ein Add-In für mich selbst erstellt, das in PowerPoint 2016 immer noch gut funktioniert. https://github.com/wobba/officeaddin/releases/tag/v1.0.1

Es scannt nach benutzten Sprachen und erlaubt es Ihnen, alle auf einmal zu ändern, wobei Sie in einer Schleife weitermachen.