2012-06-04 10:01:31 +0000 2012-06-04 10:01:31 +0000
166
166

¿Cómo puedo cambiar el lenguaje de todas las diapositivas de Powerpoint a la vez?

Quiero cambiar el lenguaje de prueba de todas mis diapositivas en un Powerpoint. He intentado configurar el idioma a través del menú de Preferencias de Idioma, sin embargo esto sólo lo cambia para los nuevos powerpoints.

Respuestas (8)

178
178
178
2013-03-17 17:29:41 +0000

Para cambiar el idioma de todo el PowerPoint fácilmente, abre la pestaña Ver y selecciona la vista Outline.

Ahora pulsa

  • Ctrl+A para seleccionar todo.
  • HerramientasIdioma → Elige el idioma que quieras configurar.

De la misma manera, mientras tienes todo seleccionado, puedes cambiar otras cosas como las fuentes, los colores, etc. Aunque por supuesto en muchos casos esto se hace mejor cambiando el patrón de diapositivas, una presentación que ha tenido muchos editores puede tener mucho juego de formato “duro” que se desvía del patrón subyacente y necesita ser reajustado para ser consistente. También se pueden reajustar las diapositivas individuales al estilo del patrón, pero esto puede resultar en que los marcadores de posición también se muevan, lo que puede ser indeseable en algunas situaciones.

PowerPoint 2013

  • VerOutline → seleccionar todas las diapositivas (en un menú de la izquierda) mediante Ctrl+A.
  • RevisarIdiomaConfigurar el lenguaje de prueba… → Elija el idioma a configurar.

En cuanto a mí - PowerPoint reiniciar era necesario. Probablemente porque yo también cambié Editar Idioma :

  • RevisarIdiomaEstablecer Idioma de Prueba…Preferencias de IdiomaElegir Idioma de Edición.
34
34
34
2012-06-04 10:01:32 +0000

Usando Powerpoint 2010 abrí el menú Esquema -

Seleccioné todo el texto (Ctrl+A), abrí el menú de idioma y establecí mi idioma de prueba

¡Y funcionó!

El menú de idioma se encuentra en la pestaña de la cinta de revisión (después de la pestaña de Presentación de diapositivas y no está visible en la captura de pantalla).

24
24
24
2013-08-09 08:11:56 +0000

Las respuestas existentes funcionan para el texto que está presente en el esquema. Desafortunadamente en mi caso esto no cubrió una parte significativa del texto, incluyendo figuras, tablas, etc.

Esta macro resolvió el problema para mí :

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

El “msoLanguageIDEnglishUS” que se utiliza en la macro anterior puede ser reemplazado por cualquier idioma deseado. La lista completa de idiomas se puede encontrar en este artículo

(El crédito va a Ganesh Kumar que publicó la macro original aquí . Añadí soporte para el primer nivel de agrupación de formas. Para mejorarlo aún más, la macro puede hacerse recursiva para buscar grupos que contengan otros grupos, etc.)

22
22
22
2013-11-25 09:52:03 +0000

He mejorado la respuesta de Inigo para proporcionar una versión recursiva que cambia todos los elementos al idioma deseado.

Esta versión investigará recursivamente cada forma que sea un tipo de grupo. Algunos experimentos sugieren que msoGroup y msoSmartArt son los tipos de grupo - siéntase libre de agregar a esa lista si encuentra otros tipos de formas que puedan contener 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
10
10
10
2016-07-09 09:41:22 +0000

Basado en las respuestas de Inigo, Duncan, Maria y DomDev, esto funciona para formas, tablas, grupos, SmartArt, ahora y en el 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
7
7
2014-05-22 13:36:52 +0000

La versión de Duncan funciona bien para todo menos para las mesas. Encontré otro código que parece funcionar también con tablas: 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
6
6
2016-07-04 12:52:11 +0000

Además de la respuesta proporcionada por Mastergalen y para dirigir comentarios sobre el texto recién escrito:

Si se da cuenta, ese idioma cambiará automáticamente cada vez que empiece a escribir nuevo texto (lo que es muy molesto), tiene que cambiar el actual idioma por defecto para PowerPoint:

  • asegúrese de que la ventana de PowerPoint es una ventana activa
  • en el Windows Taskbar (sí, en realidad no en PowerPoint), compruebe si Language bar es visible,
  • si no vaya a Control Panel > Region and Language > Keyboards and Languages. Haga clic en Change keybords..., cambie a la pestaña Language bar y marque la opción Docked in the taskbar. (esto es de Win7, por lo que podría ser un poco diferente en otras versiones).
  • ahora acción clave - en el Language bar en la barra de tareas, haga clic en el código de idioma y cambie a EN (si quiere usar actualmente el inglés en PowerPoint). A partir de ahora, todo el texto nuevo en PowerPoint estará en el idioma seleccionado :-)
  • si quiere escribir en su idioma original, sólo tiene que volver a cambiarlo.
3
3
3
2017-10-20 11:42:30 +0000

Hice un complemento en 2014 para mí que todavía funciona bien en PowerPoint 2016. https://github.com/wobba/officeaddin/releases/tag/v1.0.1

Escanea los idiomas usados, y te permite cambiarlos todos a la vez, haciendo un bucle.