すべてのPowerPointスライドの言語を一度に変更するにはどうすればよいですか?


151

このスレッドはかなり古いものですが、マイクロソフトは私が知っている解決策を提供していません。Macユーザーには別のアプローチをお勧めします。Keynoteでプレゼンテーションを開き、スペル言語を変更し、場合によってはプレゼンテーション全体を編集してからPowerPointにエクスポートします。



1
PowerPointの最新バージョンは、この点で特にバグが多いようです。すべてのテキストの言語を言語Aに変更したテキストボックスがあります(既定の言語はBです)。したがって、そのテキストボックス内で入力を開始すると、言語は自動的にBに変更されます。言語は役立ちます(他のすべてを試したことがあります)。現在、デフォルトの言語はAで、テキストボックス内の他のすべてのテキストの言語はA(およびPPを再起動しました)ですが、新しいテキストはすべてBとして表示されます。したがって、残りの質問は次のとおりです。完全にオフ?
レバツノク

はい、スペルチェックを無効にする方法があります:support.microsoft.com/en-us/help/937422/…-私の問題を解決しました!
レバツノク

回答:


165

PowerPoint 全体の言語を簡単に変更するには、[表示 ]タブを開いて[ アウトライン ] ビューを選択します。

今すぐ押す

  • Ctrl+ Aすべてを選択します。
  • ツール言語 →設定する言語を選択します。

同様に、すべてを選択した状態で、フォントや色などを変更できます。もちろん、多くの場合、これはスライドマスターを変更することでより良くなりますが、多くの編集者がいるプレゼンテーションには、基礎となるマスターから逸脱し、一貫性を保つためにリセットする必要があります。個々のスライドをマスタースタイルにリセットすることもできますが、プレースホルダーも移動する可能性があり、状況によっては望ましくない場合があります。

PowerPoint 2013

  • [表示] → [ アウトライン] → (左メニューの)すべてのスライドをCtrl+ で選択しますA
  • 確認言語校正言語の設定... →設定する言語を選択します。

私に関しては-PowerPointの再起動が必要でした。おそらく私も編集言語を変更したからでしょう:

  • 確認言語校正言語の設定...言語設定編集言語を選択します。

31
回答いただきありがとうございますが、言語を変更しても、新しく入力したテキストは以前の言語(デフォルトの言語)のままです。さらに、マスタースライドに移動してスライドを選択すると、言語バーの言語がデフォルトのままであり、変更するメニューがグレー表示になっていることがわかります。マイクロソフトが長年にわたって解決していないことに夢中になっています。
エンドルジュ14

1
驚くばかり!完全ではありませんが、確かに役立ちます。私は@Endrjuに同意します、なぜこれはまだ修正されていないのですか?!
マイク14

1
記録の場合、Office 2013では、[言語]メニューは[レビュー]ウィンドウ(校正言語の設定)にあります
マリアイネスパルニサリ

2
パワーポイントは驚くほど悪くないですか?このような問題があるとき、私は実際にオープンオフィスを使用するのが恋しいです。ビデオへの保存がサポートされるとすぐに、オープンオフィスに戻ります。
mjaggard

2
これの主な制限は、無限の知恵で誰かが適切なタイトル+コンテンツレイアウトを使用する代わりにカスタムテキストボックスを作成した場合、これは機能しないことです。
リリエンタール

34

Powerpoint 2010を使用して、[アウトライン]メニューを開きました-

アウトラインタブ

すべてのテキストを選択(Ctrl + A)、言語メニューを開き、校正言語を設定

言語オプション

そしてそれはうまくいきました!

言語メニューは[レビュー]リボンタブにあります([スライドショー]タブの後にあり、スクリーンショットには表示されません)。


4
1つのスライドでのみ動作します
ヘルゲクライン

9
これは、基本的なスライドレイアウトで機能します。テキストボックス内のテキストや他の図形内にネストされたテキストの言語は変更されません。
ダンカンジョーンズ

Office 2007でも動作します。
アルフレドオソリオ14年

Office Macでも動作しました。
ジムマッキース

23

既存の回答は、アウトラインに存在するテキストに対して機能します。残念ながら、私の場合、これは図、表などを含むテキストの重要な部分をカバーしていませんでした。

このマクロは私のために問題を解決しました:

 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

上記のマクロで使用される「msoLanguageIDEnglishUS」は、任意の言語に置き換えることができます。言語の完全なリストは、この記事で見つけることができます

(クレジットは、元のマクロをここに投稿したGanesh Kumarに送られます。シェイプのグループ化の第1レベルのサポートを追加しまし


+1良いスタート。この回答に基づいた完全に再帰的なバージョンについては、私の回答をご覧ください。
ダンカンジョーンズ

20

Inigoの答えを改善して、すべてのアイテムを目的の言語に変更する再帰バージョンを提供しました。

このバージョンは、グループタイプである各形状を再帰的に調査します。いくつかの実験は、msoGroupそれmsoSmartArtがグループタイプであることを示唆しています-テキストオブジェクトを保持できる他のタイプの形状を見つけたら、そのリストに自由に追加してください。

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

1
OSX上でPowerPointの16.10でこれを実行している場合は、私が取得:Compile error: Method or data member not found
エティエンヌ低Décarie

10

Inigo、Duncan、Maria、およびDomDevの回答に基づいて、現在および将来の形状、テーブル、グループ、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

他のソリューションについては、OSX上のPowerPoint 16.10でこれを実行すると、次のようになりますCompile error: Method or data member not found。提案された解決策はありますか?強調するよう.DefaultLanguageIDです。
エティエンヌローデカリエ

@EtienneLow-Décarie:PowerPoint 16ではAPIが変更された可能性があります。持っていないので確認できません、ごめんなさい。
トリカス

Windows 7上のPowerpoint 2016(正確なMS Officeバージョンは16.0.11029.20108です)
Christopher K.

パーフェクト!私は考えることができる唯一の改善は:)あまりにも、スライドの言語はセクションを指摘変更である
マーカスMangelsdorf

7

Duncanのバージョンは、テーブル以外のすべてに適しています。テーブルでも機能する別のコードを見つけました:https : //stackoverflow.com/questions/4735765/powerpoint-2007-set-language-on-tables-charts-etc-that-c​​ontains-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

5

Mastergalenが提供する回答に加えて、新しく入力したテキストに関するコメントに対処するために:

気づいた場合、新しいテキストを入力し始めると、その言語は自動的に元に戻ります(これは非常に面倒です)。PowerPointの現在のデフォルト言語を変更する必要があります。

  • PowerPointウィンドウがアクティブなウィンドウであることを確認してください
  • Windows Taskbarあれば(はい、実際にはいないPowerPointで)、チェックLanguage bar表示され、
    • に移動しない場合Control Panel > Region and Language > Keyboards and Languages。をクリックしChange keybords...Language barタブに切り替えてDocked in the taskbarオプションをチェックします。(これはWin7のものであるため、他のバージョンでは少し異なる場合があります)。
  • キーアクション- Language barタスクバーで言語コードをクリックし、ENに切り替えます(現在PowerPointで英語を使用する場合)。これ以降、PowerPointのすべての新しいテキストは選択した言語で表示されます:-)
  • 元の言語で書きたい場合は、元に戻すだけです。

1
ああ、なんでそんなことをするの?ありがとう、完璧に働いた。
ティボーD.

1
まさに!受け入れられた回答にも追加する必要があります。
M.アブデルハフィド

1
しかし、それはまた、それは、キーボードレイアウトを変更していません... ....私は英語のテキストを入力したいが、私は本当に私のドイツ語のキーボードレイアウトを維持したい?
ヨハネス・S.

2
@JohannesS。Enタスクバーを右クリックして選択Settings..すると、インストールされている言語であるドイツ語(DE)と英語(En)がKeyboards表示されます。英語を展開すると、一覧が表示され、キーボードが展開され、お好みのドイツ語キーボードが追加されます。また。私はそれを試しませんでしたが、理論的には動作するはずです;-)
ガス

待ってください。別の校正言語を使用する場合は、キーボードの言語を変更する必要がありますか?それは愚かです。
マテイRačinský

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.