web-dev-qa-db-ja.com

PowerPointプレゼンテーションのすべてのスライドのデフォルト言語を変更するにはどうすればよいですか?

関連するディスカッション で説明されているトリックを試しましたが、PowerPoint2007プレゼンテーションのすべてのスライドのすべてのテキストの校正言語を変更できませんでした。

これはPowerPoint2007の機能でしょうか?

次のVBA「モンスター」がその仕事をしましたが、私はVBAを必要としないより簡単な方法を探しています。何か案は?

Option Explicit

Private Sub btnGerman_Click()
    Call LanguageChange(msoLanguageIDGerman)
End Sub

Private Sub btnEnglish_Click()
    Call LanguageChange(msoLanguageIDEnglishUK)
End Sub

Public Sub LanguageChange(LanguageID As Integer)
    Dim sld As Slide
    Dim shp As Shape
    Dim cnt As Integer
    Dim cntAll As Integer

    On Error GoTo ErrHandler
    Me.btnEnglish.Enabled = False
    Me.btnGerman.Enabled = False
    cntAll = ActivePresentation.Slides.Count
    cnt = 0
    For Each sld In ActivePresentation.Slides
        For Each shp In sld.Shapes
            If shp.HasTextFrame Then
                shp.TextFrame.TextRange.LanguageID = LanguageID
            Else
                ShapeLanguageChange shp, LanguageID
            End If
        Next
        cnt = cnt + 1
        o cnt & " / " & cntAll
    Next

    Me.btnEnglish.Enabled = True
    Me.btnGerman.Enabled = True
    Exit Sub

ErrHandler:
    MsgBox "Ooops! " & Err.Description, vbCritical, "Error!"
    Err.Clear
    Me.btnEnglish.Enabled = True
    Me.btnGerman.Enabled = True
End Sub

Private Sub o(s As String)
    Me.Label1.Caption = s
    DoEvents
End Sub

Private Sub ShapeLanguageChange(sh As Shape, LanguageID As Integer)
    Dim sha As Shape

    If sh.Type = msoGroup Then
        For Each sha In sh.GroupItems
            If sha.Type = msoGroup Then
                ShapeLanguageChange sha, LanguageID
            ElseIf sha.HasTextFrame Then
                sha.TextFrame.TextRange.LanguageID = LanguageID
            End If
        Next
    End If
End Sub
2
Axel Kemper

VBAを使用せずにそれを行うことはできません。以下のリンクには、VBAコードがたくさんあります。すでに再帰を使用しています。これは、グループをナビゲートするために不可欠です。他のより完全なコードも、スライドマスター、メモなどを扱います。

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

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

https://stackoverflow.com/questions/4735765/PowerPoint-2007-set-language-on-tables-charts-etc-that-c​​ontains-text