Ändern Sie die Sprache für die Rechtschreibprüfung in einer PowerPoint-Präsentation


42

Ich erhielt eine PowerPoint-Präsentation mit Dutzenden von Folien, von denen jede eine Reihe von Textfeldern enthielt. Obwohl die Präsentation in Englisch verfasst ist, ist die Sprache für die Rechtschreibprüfung auf kanadisches Französisch eingestellt. Ich versuche, die Sprache in Englisch zu ändern, aber selbst wenn ich alle Folien auswähle und im Dialogfeld Sprache ein neues Element auswähle, bleibt die Sprache der Textfelder gleich. Also muss ich Folie für Folie die Textfelder auswählen und dann die Sprache individuell ändern.

Gibt es einen besseren Weg, dies zu tun?

Die Version von PowerPoint, die ich installiert habe, ist 2002 SP3.


Kann scheinbar keine Antwort hinzufügen (trotz ausreichender Wiederholung). Für die Mac-Benutzer da draußen: macscripter.net/viewtopic.php?id=38622 bietet ein erstaunliches Apple-Skript, das für viele Zwecke geändert werden kann.
Etienne Low-Décarie

Hier ist eine Zusammenfassung des oben erwähnten Apfelskripts: gist.github.com/4440395
Etienne Low-Décarie

Antworten:


34

Ich weiß, dass eine Antwort bereits akzeptiert wurde (die ich +1 gegeben habe, da sie funktioniert und gut geschrieben ist), aber für manche Menschen ist die Idee, ein Makro zu erstellen, zu speichern oder zu verwenden, möglicherweise zu gruselig (oder sie haben Sicherheitseinstellungen in Ort, der dies schwer zu erreichen macht). Eine einfachere Lösung besteht darin, hierfür die normale integrierte Funktionalität zu verwenden. Der Trick ist, in der Lage zu sein, alle Objekte auf allen Folien auf einmal auszuwählen, anstatt die Folien selbst. Dies ist in der Gliederungsansicht leicht zu erreichen (leider eine wenig genutzte Funktion, aber großartig, um ein Foliendeck neu zu organisieren, zu promoten und zu demotisieren ganze Brocken, zB Kugeln> neue Folien oder umgekehrt).

Ich habe kein PowerPoint 2002 ("XP"), daher bin ich mir nicht sicher, ob Sie die Anweisungen für 2000 oder 2003 befolgen müssen.

  • In PP 2000 : Wechseln Sie zur Gliederungsansicht, dem zweiten Symbol von links unten links auf dem Bildschirm (sieht aus wie Linien mit Einrückungen).
  • Ab PP 2003 : Wechseln Sie zur "normalen" Ansicht (Layout mit drei Fenstern) und wählen Sie oben im Foliennavigator "Gliederung" anstelle von "Folien".

In älteren Versionen, stellen Sie sicher , dass Sie die Symbolleiste Gliederung sichtbar haben ( View> Toolbars> Outlining) und klicken Sie auf die Expand allSchaltfläche (spätere Versionen können Sie auf diesem durch Rechtsklick erhalten).

  • Ctrl-A um alle auszuwählen.
  • Tools>> LanguageWählen Sie Ihre Sprache aus.
  • (von Powerpoint 2013) REVIEW> Language> Set Proofing Sprache

Job erledigt.

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.


Nur eine kurze Anmerkung: Machen Sie den folgenden Satz vielleicht fett, damit die Lösung sofort klar wird: „Der Trick besteht darin, alle Objekte auf allen Folien auf einmal und nicht nur die Folien selbst auswählen zu können, und dies ist leicht zu erreichen in der Gliederungsansicht '
Rabarberski

2
Danke AdamV, tolle Antwort! Das Problem bei diesem Ansatz ist jedoch, dass je nachdem, wie die Textfelder zur Folie hinzugefügt wurden, sie möglicherweise nicht in der Gliederungsansicht angezeigt werden. Das war so ziemlich bei jedem Objekt der Präsentation der Fall, das ich reparieren musste.
Leonardo

Ja, ich denke, wenn Leute viele unabhängige Textfelder hinzufügen, müssen diese mit einer Methode wie dem ursprünglich angegebenen Makro ausgewählt werden.
AdamV

Für mich funktionierte dies nur mit vorhandenem Text in PowerPoint 2010. Für neu hinzugefügten Text würde sich die Sprache in bestimmten Fällen noch ändern.
Pieter

Dies ist bei weitem die sauberste Art, damit umzugehen. Es funktioniert auch in der Version 2013.
GoTTimw

18

Dieser Thread enthält die Antwort, die für mich funktioniert hat.

Die Schritte, denen ich folgte, waren:

  1. Erstellen Sie ein neues Makro:
    1.1. Wechseln Sie zu Extras, Makro, Visual Basic-Editor.
    1.2. Fügen Sie ein neues leeres Modul ein, indem Sie Einfügen, Modul auswählen.
  2. Fügen Sie diesen Code in das rechte Fenster ein und speichern Sie das Makro:

    Option Explicit  
    Public Sub ChangeSpellCheckingLanguage()  
        Dim j As Integer, k As Integer, scount As Integer, fcount 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 = msoLanguageIDEnglishAUS
                End If
            Next k
        Next j
    End Sub
    

    msoLanguageIDEnglishAUSkann durch jede gewünschte Sprache ersetzt werden. Die vollständige Liste der Sprachen finden Sie hier .

  3. Führen Sie das Makro aus (durch Drücken von F5 im Editor oder durch Auswählen von Extras, Makro, Makros, ChangeSpellCheckingLanguage und Klicken auf Ausführen).

Danach haben alle Textelemente in der Präsentation die neue Rechtschreibsprache.


1
Dieser Code wirkt sich nicht auf Shapes in Gruppen aus. Ein allgemeineres Code wird in diesem Thema geschrieben superuser.com/a/1119420/245595
sancho.s wieder einzusetzen Monica

3

Nach vielen Präsentationen, in denen ich es von Hand gemacht oder ein einmaliges Makro verwendet habe, habe ich es schließlich gebrochen und zu einem richtigen PowerPoint-Add-In gemacht.

Ich habe es auf meine Website hochgeladen: PowerPoint LanguageFixer

Es kümmert sich um:

  • Einstellen der Standardsprache
  • Alle Formen mit Textrahmen
  • Textrahmen in gruppierten Formen (soweit möglich)
  • Text in Tabellen
  • Zeug auf der Folie / Notiz / Handout-Master

Stellen Sie einfach eines der Textfelder auf die gewünschte Sprache ein, wählen Sie es aus und klicken Sie auf die Schaltfläche.


1

Je nach Ihrer Situation gibt es zwei Möglichkeiten:


Situation 1: Die ursprüngliche Office-Kopie wurde von einem Installationsmedium in kanadisch-französischer Sprache installiert.

Sie können die Standardsprache auf Englisch einstellen, für Kernfunktionen wird jedoch die Muttersprache des Installationsmediums verwendet.

Das einzige Update besteht darin, die kanadisch-französische Version zu deinstallieren und von einem englischsprachigen Installationsmedium zu installieren oder die gesamte Präsentation in ein neues Dokument zu kopieren und neu zu formatieren.

.


Situation 2: Alles scheint Englisch zu sein, aber unter bestimmten Umständen erscheinen Fremdsprachen.

In dieser Situation finden Sie die folgenden Reparaturanweisungen für Office 2002:

  1. Klicken Sie auf das Startmenü
  2. Zeigen Sie auf Programme
  3. Zeigen Sie auf Microsoft Office Tools
  4. Klicken Sie auf Microsoft Office XP-Spracheinstellungen.
  5. Klicken Sie auf die Registerkarte Aktivierte Sprachen.
  6. Wechseln Sie zu der Standardversion von Microsoft Office
  7. Wählen Sie die gewünschte Sprache
  8. OK klicken. Es wird eine Meldung angezeigt, die Sie darüber informiert, welche Änderungen vorgenommen werden.
  9. Klicken Sie auf Weiter

Ich hoffe das hilft.


Danke für deine Antwort! Es war jedoch keine dieser Situationen. Was passiert ist, dass jedes Textfeld für die Rechtschreibprüfung auf eine andere Sprache eingestellt werden kann und in diesem speziellen Szenario alle Elemente die falsche Sprache hatten. Die Standardsprache im System (und in der Office-Installation) ist Englisch.
Leonardo

0

Ich hatte die gleichen Probleme mit Präsentationen, die mit deutschem PowerPoint erstellt und manuell ins Englische übersetzt wurden. Das Problem ist, dass die Spracheinstellung im Wesentlichen eine Formatierung ist, die auf jedes Textfeldelement für sich angewendet wird .

Ich kenne keine bequeme Lösung - ich musste entweder mit der Nichtübereinstimmung leben oder das Sprachformat jedes einzelnen Textfelds auf jeder Folie manuell ändern. Kein Spaß, deshalb lebe ich meistens damit.


0

Der von Leonardo veröffentlichte Code ist einfach und allgemein wirksam, wirkt sich jedoch nicht auf Shapes in Gruppen aus. Ein allgemeinerer Code verwendet die Rekursion, um auch diesen Fall zu behandeln (geringfügig geändert von hier , der sich im selben Thread wie der Code von Leonardo befindet):

Private Function ChangeLangOfAllText_caller()
    'ChangeLangOfAllText (msoLanguageIDEnglishUS)
    ChangeLangOfAllText (msoLanguageIDSpanishArgentina)
End Function

Private Function ChangeLangOfAllText(ByVal LangID As Long)
    Dim MySlide As Slide
    Dim MyShape As Shape
    Dim MyD As Design
    Dim MyHeaderFooter As HeaderFooter
    Dim i, nbs As Integer
    ''''' First deal with the master slides
    For Each MyD In ActivePresentation.Designs
        For Each MyShape In MyD.SlideMaster.Shapes
            ProcessShapes MyShape, LangID
        Next MyShape
    Next MyD
    ''''' Now deal with the slides
    ' Enable this for debugging
    'Debug.Print "File " & ActivePresentation.Name & _
      ": working with " & ActivePresentation.Slides.Count & " slides"
    For Each MySlide In ActivePresentation.Slides
        ' Enable this for debugging
        'Debug.Print " Slide index " & MySlide.SlideIndex & ", Slide number " & MySlide.SlideNumber & _
          ": working with " & MySlide.Shapes.Count & " shapes"
        For Each MyShape In MySlide.Shapes
            ProcessShapes MyShape, LangID
        Next MyShape
        ''''' Now deal with the Notes
        For Each MyShape In MySlide.NotesPage.Shapes
            ProcessShapes MyShape, LangID
        Next MyShape
        ''''' Now deal with the master ' doesn't appear to work, have to try something else
        For Each MyShape In MySlide.Master.Shapes
            ProcessShapes MyShape, LangID
        Next MyShape
    Next MySlide
End Function

Private Function ProcessShapes(MyShape As Shape, ByVal LangID As Long)
    Dim i As Integer
    If ((MyShape.Type = msoGroup) Or (MyShape.Type = msoTable)) Then
        On Error Resume Next
        For i = 1 To MyShape.GroupItems.Count
            ''' The trick is to recurse!
            ProcessShapes MyShape.GroupItems.Item(i), LangID
        Next i
    Else
        ChangeLang MyShape, LangID
    End If
End Function

Private Function ChangeLang(MyShape As Shape, ByVal LangID As Long)
    Dim i As Integer
    If (MyShape.HasTextFrame) Then
        ' Enable this for debugging
        'Debug.Print " Shape " & MyShape.ZOrderPosition & ", type: " & MyShape.Type & _
          ", has text frame: " & MyShape.HasTextFrame & ", has text: " & MyShape.TextFrame.HasText & _
          ", alt. text: " & MyShape.AlternativeText
        MyShape.TextFrame.TextRange.LanguageID = LangID
    End If
End Function
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.