Como alterar o idioma padrão para todos os slides em uma apresentação do PowerPoint?

2

Eu tentei o truque explicado em um discussão relacionada , mas não pôde alterar o idioma de prova para todos os textos em todos os slides de uma apresentação do PowerPoint 2007.

Este poderia ser um recurso do PowerPoint 2007?

O "monstro" do VBA a seguir fez o trabalho, mas estou procurando uma maneira mais fácil que não exija o VBA. Alguma idéia?

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
    
por Axel Kemper 15.04.2013 / 14:27

1 resposta

1

Você não pode fazer isso sem usar o VBA. Existem muitos códigos VBA nos links abaixo, por exemplo, Você já está usando recursão, o que é essencial para navegar em grupos. Outras partes mais completas do código também lidam com slides, notas, etc.

Alterar o idioma de verificação ortográfica em uma apresentação do PowerPoint

Como faço para alterar o idioma de todos os slides do Powerpoint de uma só vez?

link

    
por 31.08.2016 / 09:16