Cómo agregar texto alternativo de forma masiva a todas las imágenes de PowerPoint con VBA
🔍 WiseChecker

Cómo agregar texto alternativo de forma masiva a todas las imágenes de PowerPoint con VBA

Agregar texto alternativo (alt text) a cada imagen de una presentación de PowerPoint mejora la accesibilidad para usuarios con lectores de pantalla. Hacerlo manualmente para docenas o cientos de diapositivas lleva demasiado tiempo. Puede usar una macro de Visual Basic for Applications (VBA) para agregar texto alternativo a todas las imágenes a la vez. Este artículo explica cómo crear y ejecutar una macro de VBA que agrega una cadena de texto alternativo estándar a cada imagen de su presentación.

Puntos clave: Texto alternativo masivo con VBA en PowerPoint

  • Alt + F11 para abrir el editor de VBA: Abre la ventana de Microsoft Visual Basic for Applications donde se pega el código de la macro.
  • Alt + F8 para ejecutar la macro: Abre el cuadro de diálogo Macro para que pueda seleccionar y ejecutar la macro de texto alternativo masivo.
  • Comprobación Shape.Type = msoPicture: La macro examina solo las formas que son imágenes, omitiendo los cuadros de texto y otros objetos.

ADVERTISEMENT

Qué hace la macro de VBA para el texto alternativo

La macro recorre cada diapositiva de la presentación activa. En cada diapositiva, comprueba cada forma para ver si es una imagen. Si la forma es una imagen y su campo de texto alternativo está vacío, la macro escribe una cadena de texto alternativo predeterminada. Puede editar la cadena predeterminada en el código para que coincida con la política de accesibilidad de su organización.

Antes de ejecutar la macro, guarde su presentación. La macro modifica el archivo de presentación. Si comete un error, puede cerrar el archivo sin guardar y volver a abrir el original. No se requieren complementos ni descargas externas. VBA está integrado en PowerPoint en Windows.

Pasos para agregar texto alternativo de forma masiva a todas las imágenes de PowerPoint con VBA

Siga estos pasos para crear y ejecutar una macro de VBA que agrega texto alternativo a cada imagen de su presentación.

  1. Abrir el editor de VBA
    En PowerPoint, presione Alt + F11 en su teclado. Se abre la ventana de Microsoft Visual Basic for Applications.
  2. Insertar un nuevo módulo
    En la barra de menús del editor de VBA, haga clic en Insertar y luego en Módulo. Aparece una ventana de código en blanco.
  3. Pegar el código de la macro
    Copie el siguiente código y péguelo en la ventana del módulo en blanco:
    Sub BulkAddAltText()
        Dim sld As Slide
        Dim shp As Shape
        Dim altText As String
        
        altText = "Decorative image"
        
        For Each sld In ActivePresentation.Slides
            For Each shp In sld.Shapes
                If shp.Type = msoPicture Then
                    If shp.AlternativeText = "" Then
                        shp.AlternativeText = altText
                    End If
                End If
            Next shp
        Next sld
        
        MsgBox "Alt text added to all pictures."
    End Sub
    
  4. Editar el texto alternativo predeterminado (opcional)
    En la línea altText = "Decorative image" reemplace el texto entre comillas con el texto alternativo que prefiera. Por ejemplo: altText = "Photo of product demonstration"
  5. Ejecutar la macro
    Presione Alt + F8 para abrir el cuadro de diálogo Macro. Seleccione BulkAddAltText de la lista. Haga clic en Ejecutar. Un cuadro de mensaje confirma que se agregó el texto alternativo.
  6. Verificar el texto alternativo
    Haga clic con el botón derecho en cualquier imagen de su presentación. Seleccione Formato de imagen. En el panel Formato de imagen, haga clic en Tamaño y propiedades (el icono con un cuadrado y flechas). Expanda Texto alternativo. El texto que estableció aparece en el campo Descripción.

Cómo modificar la macro para omitir imágenes con texto alternativo existente

El código anterior comprueba If shp.AlternativeText = "" antes de escribir. Esto significa que las imágenes que ya tienen texto alternativo no se sobrescriben. Si desea sobrescribir todo el texto alternativo independientemente, elimine las líneas If y End If alrededor de la asignación.

Cómo agregar texto alternativo único por imagen

La macro de este artículo establece el mismo texto alternativo para cada imagen. Para agregar texto alternativo único, necesita un enfoque diferente. Puede escribir una macro que lea el nombre de archivo de cada imagen insertada y use el nombre de archivo como texto alternativo. Alternativamente, puede recorrer las imágenes y solicitar al usuario cada entrada de texto alternativo. La macro básica anterior es el método más rápido para agregar de forma masiva una cadena de texto alternativo coherente.

ADVERTISEMENT

Problemas comunes al usar la macro de VBA

Error: “No se encuentra la macro o se ha deshabilitado”

Este error aparece cuando la presentación se guarda como archivo .pptx después de agregar la macro. El formato .pptx no almacena macros. Para solucionarlo, guarde la presentación como Presentación de PowerPoint habilitada para macros con la extensión .pptm. Vaya a Archivo > Guardar como y elija Presentación de PowerPoint habilitada para macros en la lista de tipos de archivo.

La macro no hace nada y no aparece ningún error

La macro se ejecuta pero no se agrega texto alternativo. Esto generalmente significa que las formas no se reconocen como imágenes. Algunas imágenes se insertan como imágenes vinculadas o como objetos OLE. Las imágenes vinculadas tienen shp.Type = msoLinkedPicture. Los objetos OLE tienen un tipo diferente. Para manejar imágenes vinculadas, cambie If shp.Type = msoPicture Then a If shp.Type = msoPicture Or shp.Type = msoLinkedPicture Then.

El texto alternativo aparece en el campo Título en lugar del campo Descripción

La propiedad shp.AlternativeText escribe en el campo Descripción del panel Texto alternativo. Si desea escribir en el campo Título, use shp.Title en su lugar. Los lectores de pantalla suelen leer primero el campo Descripción. Es una buena práctica usar el campo Descripción para texto alternativo significativo.

Texto alternativo masivo con VBA vs. texto alternativo manual: comparación

Elemento Macro de VBA Entrada manual
Tiempo por cada 100 imágenes Menos de 5 segundos 15 a 30 minutos
Unicidad del texto alternativo Mismo texto para todas las imágenes a menos que se modifique Puede escribir texto único para cada imagen
Riesgo de errores Bajo si el código es correcto Alto debido a la escritura repetitiva
Requiere archivo habilitado para macros Sí, formato .pptm No, cualquier formato de archivo funciona
Cumplimiento de accesibilidad Consistente pero puede requerir revisión Puede cumplir con WCAG exactamente

Ahora puede usar VBA para agregar texto alternativo a cada imagen de una presentación de PowerPoint en segundos. La macro ahorra tiempo en presentaciones grandes y garantiza que ninguna imagen quede sin texto alternativo. Para escenarios más avanzados, modifique la macro para leer los nombres de archivo de las imágenes o para solicitar texto personalizado por diapositiva. Siempre pruebe la macro en una copia de su presentación primero.

ADVERTISEMENT