Como altero o idioma de todos os slides do Powerpoint de uma só vez?


152

Embora esse segmento seja bastante antigo, a Microsoft não forneceu nenhuma solução que eu conheça. Sugiro outra abordagem para usuários de Mac: abra sua apresentação no Keynote, altere o idioma da ortografia e, possivelmente, edite toda a apresentação, depois exporte-a para o PowerPoint.



11
Parece que a versão mais recente do PowerPoint é especialmente problemática a esse respeito. Eu tenho uma caixa de texto em que alterei o idioma de todo o texto para o idioma A. (O idioma padrão é B.) Então, quando começo a digitar nessa caixa de texto, o idioma muda automaticamente para B. Pensei que talvez estivesse alterando o padrão a linguagem ajuda (tendo tentado todo o resto), mas não. Agora, o idioma padrão é A, o idioma de todos os outros textos na caixa de texto é A (e reiniciei o PP), mas todo o novo texto ainda aparece como B. Portanto, minha única pergunta restante é: existe uma maneira de alternar a revisão fora completamente?
— Lebatsnok

Sim, existe uma maneira de desativar a verificação ortográfica: support.microsoft.com/en-us/help/937422/… - resolveu meu problema!
— Lebatsnok

Respostas:


166

Para alterar o idioma de todo o PowerPoint facilmente, abra a guia Exibir e selecione a exibição Estrutura de tópicos .

Agora pressione

  • Ctrl+ Apara selecionar tudo.
  • Ferramentas → Idioma → Escolha o seu idioma para definir.

Da mesma forma, enquanto você seleciona tudo, pode alterar outras coisas, como fontes, cores etc. Embora, é claro, em muitos casos, isso seja melhor alterando o slide mestre, uma apresentação que teve muitos editores pode ter muitos conjuntos de formatação 'rígidos' que se desvia do mestre subjacente e precisa ser redefinido para ser consistente. Você também pode redefinir slides individuais para o estilo principal, mas isso também pode resultar na movimentação de espaços reservados, o que pode ser indesejável em algumas situações.

PowerPoint 2013

  • Exibir → Esboço → selecione todos os slides (no menu esquerdo) via Ctrl+ A.
  • Revisar → Idioma → Definir idioma de verificação ... → Escolha o seu idioma para definir.

Quanto a mim - era necessário reiniciar o PowerPoint . Provavelmente porque eu também mudei o Idioma de Edição :

  • Revisar → Idioma → Definir idioma de revisão ... → Preferências de idioma → Escolha Editar idiomas .

31
Obrigado pela resposta, mas depois de alterar o idioma, o texto recém-digitado ainda está no idioma anterior (o padrão). Além disso, se você for aos slides mestres, selecione o slide , notará que o idioma na barra de idiomas ainda é o padrão e o menu para alterá-lo fica acinzentado. Estou ficando louco por não ter sido resolvido pela Microsoft há tantos anos.
— Endrju

11
Impressionante! Embora não seja perfeito, certamente ajuda. Concordo com @ Endrju, por que isso ainda não foi corrigido ?!
— Mike

11
Para o registro, no Office 2013, o menu Idioma é no painel Review (Set Proofing Language)
— Maria Ines Parnisari

2
Powerpoint é chocantemente ruim, não é? Na verdade, sinto falta do escritório aberto quando tenho problemas como esse. Voltarei ao escritório aberto assim que eles suportarem a gravação em um vídeo.
— Mjaggard #

2
A principal limitação disso é que, se alguém em sua infinita sabedoria criar caixa de texto personalizada em vez de usar layouts apropriados de Título + Conteúdo, isso simplesmente não funcionará.
— Lilienthal

34

Usando o Powerpoint 2010 , abri o menu Esboço -

guia de estrutura de tópicos

Selecionou todo o texto (Ctrl + A), abriu o menu de idiomas e definiu meu idioma de prova

opção de idioma

E funcionou!

O menu de idiomas está localizado na guia da faixa de opções Revisão (após a guia Apresentação de slides e não é visível na captura de tela).


4
Só funciona para um único slide
— Helge Klein

9
Isso funciona para layouts básicos de slides. Ele não altera o idioma do texto dentro de caixas de texto ou aninhado em outras formas.
— Duncan Jones

Também funciona no Office 2007.
— Alfredo Osorio

Também funcionou no Office Mac.
— 21713 Jim McKeeth

23

As respostas existentes funcionam para o texto que está presente no esquema. Infelizmente, no meu caso, isso não cobriu uma parte significativa do texto, incluindo figuras, tabelas etc.

Essa macro resolveu o problema para mim:

 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

O "msoLanguageIDEnglishUS" usado na macro acima pode ser substituído por qualquer idioma desejado. A lista completa de idiomas pode ser encontrada neste artigo

(O crédito é de Ganesh Kumar, que postou a macro original aqui . Adicionei suporte para o primeiro nível de agrupamento de formas. Para melhorá-lo, a macro pode ser recursiva para procurar grupos que contenham outros grupos etc.)


+1 Bom começo. Veja minha resposta para uma versão totalmente recursiva com base nessa resposta.
— Duncan Jones

20

I melhorado a resposta de Inigo para fornecer uma versão recursiva que muda todos os itens para o idioma desejado.

Esta versão investigará recursivamente cada forma que é um tipo de grupo. Algumas experiências sugerem que msoGroupe msoSmartArtsão os tipos de grupo - fique à vontade para adicionar a essa lista se você encontrar outros tipos de formas que podem conter objetos de texto.

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

11
Ao executar isso no PowerPoint 16.10 no OSX, recebo:Compile error: Method or data member not found
— Etienne Low-Décarie

10

Com base nas respostas de Inigo, Duncan, Maria e DomDev, isso funciona para formas, tabelas, grupos, SmartArt, agora e no futuro:

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

Quanto a outras soluções, sobre quando executar este no PowerPoint 16.10 em OSX, eu recebo: Compile error: Method or data member not found. Alguma solução sugerida? Parece destacar .DefaultLanguageID.
— Etienne Low-Décarie

@ EtienneLow-Décarie: A API pode ter sido alterada no PowerPoint 16; Eu não tenho, então não posso verificar, desculpe.
— tricasse

Funciona para mim no Powerpoint 2016 no Windows 7 (a versão exata do MS Office é 16.0.11029.20108)
— Christopher K.

Perfeito! A única melhoria que eu consegui pensar foi mudar o idioma das seções das notas dos slides :)
— Marcus Mangelsdorf

7

A versão do Duncan funciona bem para tudo, exceto tabelas. Encontrei outro código que parece funcionar também com tabelas: 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

5

Além da resposta fornecida pela Mastergalen e dos comentários sobre o texto recém-digitado:

Se você perceber que esse idioma será alterado automaticamente sempre que você começar a digitar um novo texto (o que é muito irritante), você precisará alterar o idioma padrão atual do PowerPoint:

  • verifique se a janela do PowerPoint é uma janela ativa
  • no Windows Taskbar(sim, na verdade não está no PowerPoint), verifique se Language barestá visível,
    • se não for para Control Panel > Region and Language > Keyboards and Languages. Clique em Change keybords...Alternar para a Language barguia e marque a Docked in the taskbaropção. (este é do Win7, então pode ser um pouco diferente em outras versões).
  • agora ação-chave - na Language barbarra de tarefas, clique no código do idioma e mude para EN (se você deseja atualmente usar o inglês no PowerPoint). A partir de agora, todo o novo texto do PowerPoint estará no idioma selecionado :-)
  • se você quiser escrever no idioma original, basta alterá-lo novamente.

11
Oh Deus, por que eles fariam algo assim ?! Obrigado, funcionou perfeitamente.
— Thibault D.

11
Exatamente! deve ser adicionado à resposta aceita também.
— M. Abdelhafid

11
Mas isso também altera o layout do teclado, não é? ... Eu quero digitar texto em inglês, mas realmente quero manter o layout do meu teclado em alemão ... #
— 317 Johannes S. Johannes

2
@JohannesS. Se você clicar Encom o botão direito do mouse na barra de tarefas e selecionar Settings.., verá os idiomas instalados Alemão (DE) e Inglês (En); se você expandir o inglês, haverá uma Keyboardslista, expanda Teclados e adicione o seu teclado alemão preferido, provavelmente remova o inglês. Além disso. Eu não experimentá-lo, mas deve funcionar em teoria ;-)
— Gas

Aguarde, preciso alterar o idioma do teclado se quiser ter um idioma de revisão diferente? Isso é estupido.
— Matěj Račinský 04/04

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.