Как изменить язык по умолчанию для всех слайдов в презентации PowerPoint?

Я попробовал хитрость, объясненную в связанном обсуждении, но не смог изменить язык проверки для всех текстов на всех слайдах презентации PowerPoint 2007.

Может ли это быть особенностью PowerPoint 2007?

Следующий 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

1 ответ

Решение

Вы не можете сделать это без использования VBA. В ссылках ниже много кода VBA, например, вы уже используете рекурсию, которая необходима для навигации по группам. Другие более полные фрагменты кода также касаются слайд-мастеров, заметок и т. Д.

Изменить язык проверки правописания в презентации PowerPoint

Как изменить язык всех слайдов Powerpoint одновременно?

https://stackoverflow.com/questions/4735765/powerpoint-2007-set-language-on-tables-charts-etc-that-contains-text

Другие вопросы по тегам