PowerPointプレゼンテーションのスペルチェック言語を変更する

language microsoft-powerpoint spell-check

何十枚ものスライド、それぞれにテキストボックスの数が書かれたパワーポイントのプレゼンテーションが送られてきました。プレゼンテーションは英語で書かれていますが、スペルチェックの言語はカナダのフランス語に設定されています。私は英語に言語を変更しようとしていますが、私はすべてのスライドを選択し、言語ダイアログボックスの新しい要素を選択した場合でも、テキストボックスの言語は同じままです。そのため、スライドごとにテキストボックスを選択して、個別に言語を変更していかなければなりません

もっと良い方法はないのでしょうか?

私がインストールしているPowerPointのバージョンは2002 SP3です

  43  Leonardo  2009-10-13


ベストアンサー

しかし、マクロを作成して保存したり、マクロを使用して保存したりするのは、人によっては怖すぎるかもしれません(あるいは、セキュリティ設定で実現が難しいかもしれません)。そこで、より簡単な解決策としては、通常の組み込み機能を使用してマクロを作成することです。トリックは、一度にすべてのスライドではなく、スライド自体ではなく、すべてのスライド上のすべてのオブジェクトを選択することができるようにすることであり、これは簡単にアウトラインビューで達成されています(悲しいことに使用されていない機能ですが、スライドデッキを再編成するための素晴らしい、全体の塊を促進し、降格させるために、例えば箇条書き、新しいスライドまたはその逆)

私はPowerPoint 2002 (“XP”)を持っていないので、あなたが2000のための指示に従う必要があるかどうかはわかりませんが、2003のための指示に従う必要があるので、私はここで両方をカバーしています

  • PP 2000で。画面左下の左から2番目のアイコンであるアウトラインビューに移動します(インデントのある線のように見えます)
  • PP 2003以降では通常の」ビュー(3ペインレイアウト)に移動し、スライドナビゲータの上部で「スライド」ではなく「アウトライン」を選択します

古いバージョンでは、アウトライン化ツールバーが表示されていることを確認して (View > Toolbars > Outlining)、Expand all ボタンをクリックしてください (それ以降のバージョンでは右クリックで表示されるようになっています)

  • Ctrl-Aで全てを選択します
  • Tools > Language > 設定する言語を選択します
  • (パワーポイント2013より) REVIEW > Language > プルーフィング言語を設定します

Job done.

同様に、あなたが選択したすべてのものを持っている間は、フォント、色などのような他のものを変更することができます。もちろん、多くの場合、これはより良いスライドマスターを変更することによって行われますが、多くのエディタを持っていたプレゼンテーションは、基本的なマスターから逸脱し、一貫性があるようにリセットする必要がある “ハード “書式設定の多くを持っている可能性があります。また、マスタースタイルに個々のスライドをリセットすることができますが、これはいくつかの状況で望ましくないかもしれませんが、同様に移動プレースホルダになる可能性があります

36  AdamV  2010-06-02


このスレッドには、私に効いた答えが書かれています

私が辿ったステップは

  1. 新規マクロを作成します。 1.1.ツール] → [マクロ] → [Visual Basic Editor] を選択します。 1.2.挿入] → [モジュール] を選択して、新しい空のモジュールを挿入します
  2. このコードを右パネルに貼り付けてマクロを保存します

    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
    

    msoLanguageIDEnglishAUS は任意の言語に置き換えることができます。言語の完全なリストはここにあります

  3. マクロを実行します(エディタ内でF5を押すか、ツール、マクロ、マクロ、ChangeSpellCheckingLanguageを選択して実行をクリックします)

その後、プレゼンテーション内のすべてのテキスト要素は、新しいスペルの言語を持つことになります

18  Leonardo  2009-10-27


手でやったり、ワンオフのマクロを使ったりした多くのプレゼンテーションの後、私は最終的に壊れて、それを適切なPowerPointのアドインにしました

自分のサイトにアップしてみました。PowerPoint LanguageFixer

面倒を見てくれる

  • デフォルトの言語を設定します
  • すべての図形をテキストフレームで表示します
  • グループ化された形状のテキストフレーム(可能な限り)
  • 表文
  • スライド/ノート/ハンドアウトのマスターの上にあるもの

テキストボックスのいずれかを希望の言語に設定し、選択してボタンをクリックするだけです

3  Jan Schejbal  2013-02-05


ここでは、あなたの状況に応じて2つの選択肢をご紹介します


状況1: Officeの元のコピーがカナダのフランス語ベースのインストールメディアからインストールされていました

デフォルトの言語を英語に設定することができますが、コア機能はインストールメディアの母国語を使用します

唯一の修正方法は、カナダのフランス語版をアンインストールして、英語ベースのインストールメディアからインストールするか、プレゼンテーション全体を新しいドキュメントにコピー&ペーストして再フォーマットすることです

.


状況2:すべてが英語のように見えるが、限られた状況では外国語が出てくる

そんな中、Office2002の修理方法をご紹介します

  1. スタートメニューをクリックします
  2. プログラムのポイント
  3. Microsoft Office Toolsを指します
  4. Microsoft Office XPの言語設定をクリックします
  5. 有効な言語] タブをクリックします
  6. Microsoft Officeボックスのデフォルトバージョンに移動します
  7. ご希望の言語を選択してください
  8. OKをクリックします。どのような変更が行われるかを示すメッセージが表示されます
  9. Click Continue

これが役に立つといいですね

1  pjemmert  2009-10-14


ドイツ語のPowerPointで作成したプレゼンテーションで、手動で英語に翻訳されてしまうという同じ問題がありました。問題は、言語設定が基本的に各テキストボックス要素に独自に適用される書式設定になっていることです

私は便利な解決策を知らない – 私はどちらかの不一致と一緒に暮らすか、または手動で各スライド上の個々のテキストボックスの言語の “フォーマット “を変更する必要がありました。楽しくないので、ほとんどの場合、私はそれと一緒に住んでいます

0  Torben Gundtofte-Bruun  2009-10-16


レオナルドさんが投稿したコードはシンプルで一般的に効果的ですが、グループ内のShapeには影響しません。より一般的なコードでは、このケースにも再帰を使って対処しています(レオナルドのコードと同じスレッドにあるこちらから少し変更されています)

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

0  sancho.s ReinstateMonicaCellio  2016-08-31


タイトルとURLをコピーしました