Cambiar el idioma de corrección ortográfica en una presentación de PowerPoint


42

Recibí una presentación de PowerPoint con docenas de diapositivas, cada una con varios cuadros de texto. Aunque la presentación está escrita en inglés, el idioma para la corrección ortográfica está configurado en francés canadiense. Estoy tratando de cambiar el idioma al inglés, pero incluso si selecciono todas las diapositivas y selecciono un nuevo elemento en el cuadro de diálogo Idioma, el idioma de los cuadros de texto sigue siendo el mismo. Así que tengo que ir diapositiva por diapositiva seleccionando los cuadros de texto y luego cambiando el idioma individualmente.

¿Hay una mejor manera de hacer esto?

La versión de PowerPoint que he instalado es 2002 SP3.


Parece que no puedo agregar una respuesta (a pesar de tener suficiente representante). Para los usuarios de Mac: macscripter.net/viewtopic.php?id=38622 proporciona un increíble script de manzana que se puede modificar para muchos usos.
Etienne Low-Décarie

Aquí hay un resumen de la manzana mencionada anteriormente: gist.github.com/4440395
Etienne Low-Décarie

Respuestas:


34

Sé que ya se ha aceptado una respuesta (a la que le di +1 porque funciona y está bien escrita), pero para algunas personas la idea de crear, guardar y usar una macro puede ser demasiado aterradora (o pueden tener configuraciones de seguridad en lugar que hace que esto sea difícil de lograr). Entonces, una solución más fácil es usar la funcionalidad incorporada normal para hacer esto. El truco consiste en poder seleccionar todos los objetos en todas las diapositivas a la vez, en lugar de las diapositivas en sí, y esto se logra fácilmente en la vista Esquema (lamentablemente es una función infrautilizada, pero excelente para reorganizar una plataforma de diapositivas, promover y degradar trozos enteros, por ejemplo, viñetas> nuevas diapositivas o viceversa).

No tengo PowerPoint 2002 ("XP"), así que no estoy seguro de si necesita seguir las instrucciones para 2000 o para 2003, así que cubro ambos aquí:

  • En PP 2000 : vaya a la vista de esquema, que es el segundo icono de la izquierda en la parte inferior izquierda de la pantalla (parece líneas con muescas).
  • En PP 2003 en adelante : vaya a la vista "normal" (diseño de tres paneles) y en la parte superior del navegador de diapositivas elija "esquema" en lugar de "diapositivas"

En versiones anteriores, asegúrese de que tiene la barra de herramientas Esquema visible ( View> Toolbars> Outlining) y haga clic en el Expand allbotón (versiones posteriores permiten obtener a través de este botón derecho del ratón).

  • Ctrl-A para seleccionar todo.
  • Tools>> LanguageElija su idioma para configurar.
  • (de Powerpoint 2013) REVIEW> Language> Establecer idioma de revisión

Trabajo hecho.

Del mismo modo, mientras tiene todo seleccionado, puede cambiar otras cosas, como fuentes, 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 muchos conjuntos de formatos 'duros' que se desvía del maestro subyacente y necesita restablecerse para ser coherente. También puede restablecer diapositivas individuales al estilo maestro, pero esto puede provocar que los marcadores de posición también se muevan, lo que puede ser indeseable en algunas situaciones.


Solo una nota rápida: quizás ponga la siguiente oración en negrita, para que la solución sea clara de inmediato: 'El truco es poder seleccionar todos los objetos en todas las diapositivas a la vez, en lugar de las diapositivas en sí, y esto se logra fácilmente en la vista Esquema '
Rabarberski

2
Gracias AdamV, gran respuesta! Sin embargo, el problema con este enfoque es que, según cómo se agregaron los cuadros de texto a la diapositiva, es posible que no se muestren en la vista de esquema. Ese fue el caso de casi todos los objetos de la presentación que tuve que arreglar.
Leonardo

Sí, supongo que si las personas agregan muchos cuadros de texto independientes, estos deben seleccionarse utilizando un método como la macro original publicada.
AdamV

Para mí, esto solo funcionó en el texto existente en PowerPoint 2010. Para el texto recién agregado, el idioma aún cambiaría en ciertos casos.
Pieter

Esta es, con mucho, la forma más limpia de tratar esto. Funciona en la versión 2013 también.
GoTTimw

18

Este hilo contiene la respuesta que funcionó para mí.

Los pasos que seguí fueron:

  1. Crear una nueva macro:
    1.1. Vaya a Herramientas, Macro, Editor de Visual Basic.
    1.2. Inserte un nuevo módulo vacío seleccionando Insertar, Módulo.
  2. Pegue este código en el panel derecho y guarde la macro:

    Option Explicit  
    Public Sub ChangeSpellCheckingLanguage()  
        Dim j As Integer, k As Integer, scount As Integer, fcount 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 = msoLanguageIDEnglishAUS
                End If
            Next k
        Next j
    End Sub
    

    msoLanguageIDEnglishAUSpuede ser reemplazado por cualquier idioma deseado. La lista completa de idiomas se puede encontrar aquí .

  3. Ejecute la macro (presionando F5 dentro del editor, o seleccionando Herramientas, Macro, Macros, ChangeSpellCheckingLanguage y haciendo clic en Ejecutar).

Después de eso, todos los elementos de texto dentro de la presentación tendrán el nuevo lenguaje ortográfico.


1
Este código no afectará Shapes en grupos. Un código más genérico se puede encontrar en superuser.com/a/1119420/245595
sancho.s Restablecer Monica

3

Después de muchas presentaciones donde lo hice a mano o utilicé una macro única, finalmente me rompí y lo convertí en un Complemento de PowerPoint adecuado.

Lo he subido a mi sitio web: PowerPoint LanguageFixer

Se encarga de:

  • establecer el idioma predeterminado
  • todas las formas con marcos de texto
  • marcos de texto en formas agrupadas (en la medida de lo posible)
  • texto en tablas
  • cosas en la diapositiva / nota / folleto maestro

Simplemente configure uno de los cuadros de texto en el idioma que desee, selecciónelo y haga clic en el botón.


1

Aquí hay dos opciones dependiendo de su situación:


Situación 1: la copia original de Office se instaló desde un medio de instalación basado en el idioma francés canadiense.

Podrá establecer el idioma predeterminado en inglés, pero las funciones principales utilizarán el idioma nativo de los medios de instalación.

La única solución es desinstalar la versión francesa de Canadá e instalar desde un medio de instalación en inglés o copiar / pegar la presentación completa en un nuevo documento y volver a formatear.

.


Situación 2: Todo parece ser inglés, pero en circunstancias limitadas aparecen idiomas extranjeros.

En esta situación, aquí hay instrucciones de reparación para Office 2002:

  1. Haz clic en el menú Inicio
  2. Señalar programas
  3. Señale las herramientas de Microsoft Office
  4. Haga clic en Configuración de idioma de Microsoft Office XP.
  5. Haga clic en la pestaña Idiomas habilitados.
  6. Vaya al cuadro Versión predeterminada de Microsoft Office
  7. Selecciona el idioma que quieras
  8. Haga clic en Aceptar. Aparecerá un mensaje que le indicará qué cambios se realizarán.
  9. Haga clic en continuar

Espero que esto ayude.


¡Gracias por tu respuesta! Sin embargo, no fue ninguna de esas situaciones. Lo que sucede es que cada cuadro de texto se puede configurar en un idioma diferente para la corrección ortográfica, y en este escenario particular, todos los elementos tenían el idioma incorrecto. El idioma predeterminado en el sistema (y en la instalación de la oficina) es el inglés.
Leonardo

0

He tenido los mismos problemas con las presentaciones realizadas con PowerPoint en alemán y con la traducción manual al inglés. El problema es que la configuración del idioma es esencialmente un formato que se aplica a cada elemento del cuadro de texto por sí solo.

No conozco ninguna solución conveniente: he tenido que vivir con la falta de coincidencia o cambiar manualmente el "formato" de idioma de cada cuadro de texto individual en cada diapositiva. No es divertido, así que sobre todo vivo con eso.


0

El código publicado por Leonardo es simple y generalmente efectivo, pero no afectará a Shapelos grupos. Un código más genérico utiliza la recursividad para tratar ese caso también (ligeramente modificado desde aquí , que está en el mismo hilo que el código de Leonardo):

Private Function ChangeLangOfAllText_caller()
    'ChangeLangOfAllText (msoLanguageIDEnglishUS)
    ChangeLangOfAllText (msoLanguageIDSpanishArgentina)
End Function

Private Function ChangeLangOfAllText(ByVal LangID As Long)
    Dim MySlide As Slide
    Dim MyShape As Shape
    Dim MyD As Design
    Dim MyHeaderFooter As HeaderFooter
    Dim i, nbs As Integer
    ''''' First deal with the master slides
    For Each MyD In ActivePresentation.Designs
        For Each MyShape In MyD.SlideMaster.Shapes
            ProcessShapes MyShape, LangID
        Next MyShape
    Next MyD
    ''''' Now deal with the slides
    ' Enable this for debugging
    'Debug.Print "File " & ActivePresentation.Name & _
      ": working with " & ActivePresentation.Slides.Count & " slides"
    For Each MySlide In ActivePresentation.Slides
        ' Enable this for debugging
        'Debug.Print " Slide index " & MySlide.SlideIndex & ", Slide number " & MySlide.SlideNumber & _
          ": working with " & MySlide.Shapes.Count & " shapes"
        For Each MyShape In MySlide.Shapes
            ProcessShapes MyShape, LangID
        Next MyShape
        ''''' Now deal with the Notes
        For Each MyShape In MySlide.NotesPage.Shapes
            ProcessShapes MyShape, LangID
        Next MyShape
        ''''' Now deal with the master ' doesn't appear to work, have to try something else
        For Each MyShape In MySlide.Master.Shapes
            ProcessShapes MyShape, LangID
        Next MyShape
    Next MySlide
End Function

Private Function ProcessShapes(MyShape As Shape, ByVal LangID As Long)
    Dim i As Integer
    If ((MyShape.Type = msoGroup) Or (MyShape.Type = msoTable)) Then
        On Error Resume Next
        For i = 1 To MyShape.GroupItems.Count
            ''' The trick is to recurse!
            ProcessShapes MyShape.GroupItems.Item(i), LangID
        Next i
    Else
        ChangeLang MyShape, LangID
    End If
End Function

Private Function ChangeLang(MyShape As Shape, ByVal LangID As Long)
    Dim i As Integer
    If (MyShape.HasTextFrame) Then
        ' Enable this for debugging
        'Debug.Print " Shape " & MyShape.ZOrderPosition & ", type: " & MyShape.Type & _
          ", has text frame: " & MyShape.HasTextFrame & ", has text: " & MyShape.TextFrame.HasText & _
          ", alt. text: " & MyShape.AlternativeText
        MyShape.TextFrame.TextRange.LanguageID = LangID
    End If
End Function
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.