Wie ändere ich die Sprache aller Powerpoint-Folien gleichzeitig?

151

Obwohl dieser Thread ziemlich alt ist, hat Microsoft keine mir bekannte Lösung bereitgestellt. Für Mac-Benutzer schlage ich einen anderen Ansatz vor: Öffnen Sie Ihre Präsentation in Keynote, ändern Sie die Rechtschreibsprache und bearbeiten Sie möglicherweise Ihre gesamte Präsentation, und exportieren Sie sie dann nach PowerPoint.

Liamzebedee
quelle
1
Es scheint, dass die neueste Version von PowerPoint in dieser Hinsicht besonders fehlerhaft ist. Ich habe ein Textfeld, in dem ich die Sprache des gesamten Texts in Sprache A geändert habe. (Die Standardsprache ist B.) Wenn ich also mit der Eingabe in dieses Textfeld beginne, ändert sich die Sprache automatisch in B. Ich dachte, ich ändere möglicherweise die Standardsprache sprache hilft (alles andere ausprobiert) aber nein. Jetzt ist die Standardsprache A, die Sprache aller anderen Texte im Textfeld ist A (und ich habe PP neu gestartet), aber der gesamte neue Text wird weiterhin als B angezeigt. Meine einzige verbleibende Frage lautet: Gibt es eine Möglichkeit, das Proofing zu wechseln? ganz aus?
Lebatsnok
Ja, es gibt eine Möglichkeit, die Rechtschreibprüfung zu deaktivieren: support.microsoft.com/en-us/help/937422/… - mein Problem wurde behoben!
Lebatsnok

Antworten:

165

Öffnen Sie zum einfachen Ändern der Sprache des gesamten PowerPoint die Registerkarte Ansicht und wählen Sie die Gliederungsansicht aus.

Jetzt drücken

  • Ctrl+ A, um alle auszuwählen.
  • ExtrasSprache → Wählen Sie Ihre Sprache aus.

Ebenso können Sie, während Sie alles ausgewählt haben, andere Dinge wie Schriftarten, Farben usw. ändern. Obwohl dies in vielen Fällen natürlich besser durch Ändern des Folienmasters möglich ist, kann eine Präsentation, die viele Editoren hatte, viele "harte" Formatierungen haben, die festgelegt wurden weicht vom zugrunde liegenden Master ab und muss zurückgesetzt werden, um konsistent zu sein. Sie können auch einzelne Folien auf den Masterstil zurücksetzen, dies kann jedoch auch dazu führen, dass Platzhalter verschoben werden, was in bestimmten Situationen unerwünscht sein kann.

PowerPoint 2013

  • AnsichtGliederung → Alle Folien (in einem linken Menü) über Ctrl+ auswählen A.
  • ÜberprüfenSpracheProof-Sprache festlegen ... → Wählen Sie die einzustellende Sprache aus.

Für mich war ein Neustart von PowerPoint erforderlich. Wahrscheinlich, weil ich auch die Bearbeitungssprache geändert habe :

  • Überprüfen SieSpracheProofsprache festlegen ...SpracheinstellungenBearbeitungssprachen auswählen .
Mastergalen
quelle
31
Vielen Dank für die Antwort, aber nach dem Ändern der Sprache ist der neu eingegebene Text immer noch in der vorherigen Sprache (der Standardsprache). Wenn Sie zu den Master-Folien gehen und die Folie auswählen , werden Sie feststellen, dass die Sprache in der Sprachleiste immer noch die Standardsprache ist und das Menü zum Ändern ausgegraut ist. Ich werde verrückt, dass es seit so vielen Jahren nicht mehr von Microsoft gelöst wurde.
Endrju
1
Genial! Es ist zwar nicht perfekt, aber es hilft auf jeden Fall. Ich stimme @Endrju zu, warum ist das noch nicht behoben ?!
Mike
1
In Office 2013 befindet sich das Menü "Sprache" im Überprüfungsbereich (Proofing-Sprache
festlegen
2
Powerpoint ist schockierend schlecht, nicht wahr? Ich vermisse Open Office, wenn ich solche Probleme habe. Ich bin wieder im Büro, sobald sie das Speichern in einem Video unterstützen.
mjaggard
2
Die Haupteinschränkung ist, dass, wenn jemand in seiner unendlichen Weisheit ein benutzerdefiniertes Textfeld erstellt, anstatt die richtigen Layouts für Titel und Inhalt zu verwenden, dies einfach nicht funktioniert.
Lilienthal
34

Mit Powerpoint 2010 habe ich das Menü Gliederung geöffnet.

Registerkarte "Gliederung"

Markierte den gesamten Text (Strg + A), öffnete das Sprachmenü und stellte meine Proofsprache ein

Sprachoption

Und es hat funktioniert!

Das Sprachmenü befindet sich auf der Registerkarte Überprüfen (nach der Registerkarte Diashow und auf dem Screenshot nicht sichtbar).

Liamzebedee
quelle
4
Funktioniert nur für eine einzelne Folie
Helge Klein
9
Dies funktioniert für grundlegende Folienlayouts. Die Sprache für Text in Textfeldern oder in anderen Formen verschachtelte Textfelder wird nicht geändert.
Duncan Jones
Funktioniert auch in Office 2007.
Alfredo Osorio
Funktionierte auch auf Office Mac.
Jim McKeeth
23

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

Dieses Makro hat das Problem für mich gelöst:

 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 im obigen Makro verwendete "msoLanguageIDEnglishUS" kann durch eine beliebige Sprache ersetzt werden. Die vollständige Liste der Sprachen finden Sie in diesem Artikel

(Wir danken Ganesh Kumar, der das ursprüngliche Makro hier veröffentlicht hat . Ich habe Unterstützung für die erste Ebene der Formgruppierung hinzugefügt. Um es weiter zu verbessern, kann das Makro rekursiv gemacht werden, um nach Gruppen zu suchen, die andere Gruppen usw. enthalten.)

Inigo
quelle
+1 Guter Start. In meiner Antwort finden Sie eine vollständig rekursive Version, die auf dieser Antwort basiert.
Duncan Jones
20

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

Diese Version untersucht rekursiv jede Form, die ein Gruppentyp ist. Einige Experimente legen nahe , dass msoGroupund msoSmartArtsind die Gruppentypen - fühlen Sie sich frei zu dieser Liste hinzufügen , wenn Sie andere Arten von Formen , die Textobjekte aufnehmen kann.

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
Duncan Jones
quelle
1
Wenn ich dies in PowerPoint 16.10 unter OSX ausführe, erhalte ich:Compile error: Method or data member not found
Etienne Low-Décarie
10

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

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
Trikasse
quelle
Wie bei anderen Lösungen auf , wenn in Powerpoint 16,10 auf OSX dies ausgeführt wird , erhalte ich: Compile error: Method or data member not found. Irgendwelche Lösungsvorschläge? Es scheint hervorzuheben .DefaultLanguageID.
Etienne Low-Décarie
@ EtienneLow-Décarie: Die API wurde möglicherweise in PowerPoint 16 geändert. Ich habe es nicht, also kann ich es nicht überprüfen, sorry.
Tricasse
Funktioniert für mich in Powerpoint 2016 unter Windows 7 (genaue MS Office-Version ist 16.0.11029.20108)
Christopher K.
Perfekt! Die einzige Verbesserung, die ich mir vorstellen konnte, ist das Ändern der Sprache für Foliennotizen :)
Marcus Mangelsdorf,
7

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

Zusätzlich zu den Antworten von Mastergalen und zu den Kommentaren zu neu eingegebenem Text:

Wenn Sie bemerken, dass sich diese Sprache automatisch ändert, wenn Sie mit der Eingabe von neuem Text beginnen (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
  • Windows TaskbarÜberprüfen Sie in der (ja, eigentlich nicht in PowerPoint), ob Language barsichtbar ist,
    • wenn nicht, gehe zu Control Panel > Region and Language > Keyboards and Languages. Klicken Sie auf Change keybords..., wechseln Sie zur Language barRegisterkarte und aktivieren Sie die Docked in the taskbarOption. (Dies ist von Win7, könnte also in anderen Versionen etwas anders sein).
  • Jetzt Schlüsselaktion - Klicken SieLanguage bar in der Taskleiste auf Sprachcode und wechseln Sie zu EN (wenn Sie derzeit Englisch in PowerPoint verwenden möchten). Ab sofort wird der gesamte neue Text in PowerPoint in der ausgewählten Sprache angezeigt :-)
  • Wenn Sie in Ihrer Originalsprache schreiben möchten, ändern Sie diese einfach zurück.
Gas
quelle
1
Oh Gott, warum sollten sie so etwas tun ?! Danke, hat einwandfrei funktioniert.
Thibault D.
1
Genau! sollte auch zur akzeptierten Antwort hinzugefügt werden.
M. Abdelhafid
1
Aber das ändert auch das Tastaturlayout, nicht wahr? ... Ich möchte englischen Text eingeben, aber ich möchte wirklich mein deutsches Tastaturlayout beibehalten ...
Johannes S.
2
@JohannesS. Wenn Sie mit der rechten Maustaste Enin die Taskleiste klicken und auswählen Settings.., werden die installierten Sprachen Deutsch (DE) und Englisch (En) angezeigt. Wenn Sie Englisch erweitern, werden diese Keyboardsaufgelistet. Erweitern Sie Tastaturen, und fügen Sie Ihre bevorzugte deutsche Tastatur hinzu. Entfernen Sie wahrscheinlich die englische Tastatur ebenfalls. Ich habe es nicht ausprobiert, sollte aber theoretisch funktionieren ;-)
Gas
Warten Sie, damit ich meine Tastatursprache ändern muss, wenn ich eine andere Proofsprache haben möchte. Das ist blöd.
Matěj Račinský