このスレッドはかなり古いものですが、マイクロソフトは私が知っている解決策を提供していません。Macユーザーには別のアプローチをお勧めします。Keynoteでプレゼンテーションを開き、スペル言語を変更し、場合によってはプレゼンテーション全体を編集してからPowerPointにエクスポートします。
このスレッドはかなり古いものですが、マイクロソフトは私が知っている解決策を提供していません。Macユーザーには別のアプローチをお勧めします。Keynoteでプレゼンテーションを開き、スペル言語を変更し、場合によってはプレゼンテーション全体を編集してからPowerPointにエクスポートします。
回答:
PowerPoint 全体の言語を簡単に変更するには、[表示 ]タブを開いて[ アウトライン ] ビューを選択します。
今すぐ押す
同様に、すべてを選択した状態で、フォントや色などを変更できます。もちろん、多くの場合、これはスライドマスターを変更することでより良くなりますが、多くの編集者がいるプレゼンテーションには、基礎となるマスターから逸脱し、一貫性を保つためにリセットする必要があります。個々のスライドをマスタースタイルにリセットすることもできますが、プレースホルダーも移動する可能性があり、状況によっては望ましくない場合があります。
私に関しては-PowerPointの再起動が必要でした。おそらく私も編集言語を変更したからでしょう:
Powerpoint 2010を使用して、[アウトライン]メニューを開きました-
すべてのテキストを選択(Ctrl + A)、言語メニューを開き、校正言語を設定
そしてそれはうまくいきました!
言語メニューは[レビュー]リボンタブにあります([スライドショー]タブの後にあり、スクリーンショットには表示されません)。
既存の回答は、アウトラインに存在するテキストに対して機能します。残念ながら、私の場合、これは図、表などを含むテキストの重要な部分をカバーしていませんでした。
このマクロは私のために問題を解決しました:
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レベルのサポートを追加しました。
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
Compile error: Method or data member not found
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
Compile error: Method or data member not found
。提案された解決策はありますか?強調するよう.DefaultLanguageID
です。
Duncanのバージョンは、テーブル以外のすべてに適しています。テーブルでも機能する別のコードを見つけました: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
Mastergalenが提供する回答に加えて、新しく入力したテキストに関するコメントに対処するために:
気づいた場合、新しいテキストを入力し始めると、その言語は自動的に元に戻ります(これは非常に面倒です)。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のすべての新しいテキストは選択した言語で表示されます:-)En
タスクバーを右クリックして選択Settings..
すると、インストールされている言語であるドイツ語(DE)と英語(En)がKeyboards
表示されます。英語を展開すると、一覧が表示され、キーボードが展開され、お好みのドイツ語キーボードが追加されます。また。私はそれを試しませんでしたが、理論的には動作するはずです;-)
PowerPoint 2016でも正常に機能するアドインを2014年に自分で作成しました。https://github.com/wobba/officeaddin/releases/tag/v1.0.1
使用されている言語をスキャンし、ループオーバーして一度にすべてを変更できます。