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.
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.
- Abrir el editor de VBA
En PowerPoint, presione Alt + F11 en su teclado. Se abre la ventana de Microsoft Visual Basic for Applications. - 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. - 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 - Editar el texto alternativo predeterminado (opcional)
En la líneaaltText = "Decorative image"reemplace el texto entre comillas con el texto alternativo que prefiera. Por ejemplo:altText = "Photo of product demonstration" - 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. - 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.
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.