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


Eu quero mudar o idioma de prova de todos os meus slides em um Powerpoint. Eu tentei definir o idioma através do menu Language Preferences, no entanto isso só muda para novos powerpoints.


127


origem


Duplicação possível de Alterar o idioma de verificação ortográfica em uma apresentação do PowerPoint - sancho.s
Parece que a versão mais recente do PowerPoint é especialmente bugs a este respeito. Eu tenho uma caixa de texto onde eu mudei a linguagem de todo o texto para o idioma A. (O idioma padrão é B.) Então, quando eu começo a digitar dentro dessa caixa de texto, o idioma muda automaticamente para B. Eu pensei que talvez mudando 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 eu reiniciei o PP), mas todo novo texto ainda aparece como B. Então, minha única pergunta é: existe uma maneira de mudar a prova? completamente fora? - lebatsnok
Sim, existe uma maneira de ativar a verificação ortográfica: support.microsoft.com/pt-br/help/937422/… - resolveu meu problema! - lebatsnok


Respostas:


Eu sei que uma resposta já foi aceita, mas isso só muda a linguagem de prova de um solteiro caixa de texto e exige que você altere todos eles manualmente.

Para alterar o idioma do inteira PowerPoint facilmente, abra o Visão guia e selecione o Esboço Visão.

Agora pressione

  • Ctrl+UMA para selecionar todos.
  • Ferramentas → Língua → Escolha o seu idioma para definir.

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

PowerPoint 2013

  • Visão → Esboço → selecione todos os slides (em um menu à esquerda) via Ctrl+UMA.
  • Reveja → Língua → Definir linguagem de verificação ... → Escolha o seu idioma para definir.

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

  • Reveja → Língua → Definir linguagem de verificação ... → Preferências de Idioma → Escolha a edição de idiomas.

143



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 para os slides mestre, selecione o deslize, você notará que o idioma na barra de idiomas ainda é o padrão, e o menu para alterá-lo está em cinza. Estou ficando louco por não ter sido resolvido pela Microsoft há muitos anos. - Endrju
Impressionante! Embora não seja perfeito, certamente ajuda. Eu concordo com o @Endrju, porque isso ainda não está resolvido ?! - Mike
Para o registro, no Office 2013, o menu Idioma está no painel Revisar (Definir idioma de verificação) - Maria Ines Parnisari
Powerpoint é apenas chocantemente ruim, não é? Eu realmente sinto falta de usar o escritório aberto quando tenho problemas como este. Voltarei a abrir o escritório assim que eles aceitarem salvar um vídeo. - mjaggard
@Endrju Você precisa alterar o idioma do PowerPoint na barra de tarefas do Windows para que o texto recém-digitado esteja no novo idioma. Veja detalhes em minha resposta. Me incomodou muito por tanto tempo ... - Gas


Usando Powerpoint 2010 Eu abri o menu Outline -

outline tab

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

language option

E funcionou!

O menu de idiomas está localizado na guia da faixa de opções Revisar (depois da guia Apresentação de slides e não está visível na captura de tela).


34



Funciona apenas para um único slide - Helge Klein
Isso funciona para layouts de slides básicos. Não irá alterar o idioma do texto dentro de caixas de texto ou aninhado dentro de outras formas. - Duncan Jones
Funciona no Office 2007 também. - Alfredo Osorio
Trabalhou no Office Mac também. - Jim McKeeth


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.

Esta 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" que é usado na macro acima pode ser substituído por qualquer idioma desejado. A lista completa de idiomas pode ser encontrada em Este artigo

(Crédito vai para Ganesh Kumar que postou a macro original Aqui. Eu adicionei suporte para o primeiro nível de agrupamento de formas. Para melhorá-lo, a macro pode tornar-se recursiva para procurar grupos que contenham outros grupos, etc.)


18



1 bom começo. Vejo minha resposta para uma versão totalmente recursiva com base nessa resposta. - Duncan Jones


Eu melhorei Resposta de Inigo para fornecer uma versão recursiva que altera todos os itens para o idioma desejado.

Esta versão investigará recursivamente cada forma que é um tipo de grupo. Alguma experimentação sugere que msoGroup e msoSmartArt são os tipos de grupo - sinta-se à vontade para adicionar a essa lista se você achar que outros tipos de formas podem conter objetos de texto.

Sub ChangeProofingLanguageToEnglish()
    Dim j, k As Integer
    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 Integer

    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

16



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


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

7



Quanto a outras soluções, ao executar isso no PowerPoint 16.10 no OSX, 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 mudado no PowerPoint 16; Eu não tenho, então não posso checar, desculpe. - tricasse


A versão do Duncan funciona bem para tudo menos tabelas. Eu 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

6





Além da resposta fornecida por Mastergalen e para abordar comentários sobre o tipo de texto novo:

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

  • verifique se a janela do PowerPoint é uma janela ativa
  • no Windows Taskbar (sim, na verdade não no PowerPoint), verifique se Language bar é visível,
    • se não for para Control Panel > Region and Language > Keyboards and Languages. Clique Change keybords..., troque para Language bar tab e verifique Docked in the taskbar opção. (isso é do Win7, então pode ser um pouco diferente em outras versões).
  • agora ação-chave - no Language bar na barra de tarefas, clique no código do idioma e mude para EN (se você quiser usar atualmente o inglês no PowerPoint). A partir de agora, todo novo texto no PowerPoint estará no idioma selecionado :-)
  • Se você quiser escrever em seu idioma original, apenas mude de volta.

2



Oh Deus, por que eles fariam algo assim ?! Obrigado, funcionou perfeitamente. - Thibault D.
Exatamente! deve ser adicionado à resposta aceita também. - Abdelhafid Madoui
Mas isso também muda o layout do teclado, não é? ... Eu quero digitar texto em inglês, mas eu realmente quero manter meu layout de teclado alemão .... - Johannes S.
@JohannesS. Se você clicar com o botão direito En na barra de tarefas e selecione Settings.. você verá nos idiomas instalados alemão (DE) e inglês (En), se você expandir o inglês, haverá Keyboards listado, expanda teclados e adicione o teclado alemão preferido, provavelmente remova também o inglês. Eu não tentei, mas deveria funcionar em teoria ;-) - Gas


Eu fiz um add-in em 2014 para mim, que ainda funciona bem no PowerPoint 2016. https://github.com/wobba/officeaddin/releases/tag/v1.0.1

Ele procura por idiomas usados ​​e permite que você mude de uma só vez, passando por cima.

enter image description here


2