Cómo configurar el texto alternativo predeterminado de las imágenes de Word a partir del nombre de archivo con lectura automática
🔍 WiseChecker

Cómo configurar el texto alternativo predeterminado de las imágenes de Word a partir del nombre de archivo con lectura automática

Cuando inserta una imagen en un documento de Word, el programa genera automáticamente texto alternativo basado en los metadatos del archivo o en el análisis del contenido de la imagen. Este texto alternativo generado automáticamente suele ser genérico o inexacto, y nunca incluye el nombre de archivo original de la imagen. Desea que Word lea el nombre de archivo de la imagen y lo use como texto alternativo predeterminado en su lugar. Este artículo explica cómo configurar Word para que rellene automáticamente el campo de texto alternativo con el nombre de archivo de cada imagen insertada mediante una macro de VBA sencilla. Aprenderá a agregar la macro, ejecutarla y ajustar el comportamiento para futuros documentos.

Puntos clave: Configurar Word para leer automáticamente el nombre de archivo de la imagen como texto alternativo

  • Macro de VBA en Normal.dotm: Una macro que recorre todas las imágenes de un documento y establece el texto alternativo con el nombre de archivo de origen de la imagen.
  • Evento AutoOpen o Document_Open: Ejecute la macro automáticamente cada vez que abra un documento, lo que garantiza que las nuevas imágenes obtengan el nombre de archivo como texto alternativo.
  • Archivo > Opciones > Centro de confianza > Configuración de macros: Habilite todas las macros o firme digitalmente la macro para evitar advertencias de seguridad en cada ejecución.

ADVERTISEMENT

Cómo genera Word el texto alternativo predeterminado para las imágenes

Word utiliza un servicio en línea llamado Office Intelligent Services para analizar el contenido de una imagen insertada y generar texto alternativo descriptivo. Esta característica está habilitada de forma predeterminada en Word para Microsoft 365. El servicio intenta identificar objetos, personas, texto y escenas dentro de la imagen. Para muchas imágenes, el texto alternativo resultante es vago, como “Una imagen que contiene texto, captura de pantalla” o “Un primer plano de una persona”. El nombre de archivo original del archivo de imagen nunca se incluye en esta descripción generada automáticamente.

El nombre de archivo a menudo contiene información significativa que el usuario asignó intencionalmente, como “2024-Annual-Report-Cover.png” o “Product-Shot-Back-View.jpg”. Usar el nombre de archivo como texto alternativo brinda a los usuarios de lectores de pantalla un contexto inmediato sobre el propósito de la imagen sin necesidad de interpretar una descripción genérica. Word no ofrece una configuración integrada para cambiar el origen del texto alternativo predeterminado del servicio inteligente al nombre de archivo. Debe usar una macro de VBA para interceptar el evento de inserción o para procesar imágenes existentes.

Requisitos previos para la solución con macro

Antes de comenzar, asegúrese de que se cumplan las siguientes condiciones. Necesita una copia de Word para Microsoft 365 o Word 2019 o posterior en Windows. La macro se almacenará en la plantilla Normal.dotm para que se aplique a todos los documentos. Debe tener la seguridad de macros configurada para permitir macros firmadas o para habilitar todas las macros temporalmente. Si su organización bloquea las macros, comuníquese con su departamento de TI. La macro solo funciona con imágenes que tienen una ruta de archivo de origen. Las imágenes copiadas del portapapeles o pegadas como captura de pantalla no tienen un nombre de archivo y se omiten.

Pasos para agregar la macro de VBA que establece el texto alternativo desde el nombre de archivo

  1. Abra el Editor de Visual Basic para Aplicaciones
    Presione Alt+F11 en Word. Se abre la ventana del editor de VBA. En el panel izquierdo, busque Project (Normal). Expándalo y haga doble clic en ThisDocument en Microsoft Word Objects.
  2. Pegue el código de la macro en la ventana de código
    Copie el siguiente código de VBA y péguelo en el área en blanco de la ventana de código. Esta macro recorre todas las formas en línea y formas del documento. Para cada imagen, extrae el nombre de archivo de origen de la propiedad LinkFormat.SourceFullName y lo escribe en la propiedad AlternativeText.

    Sub SetAltTextFromFilename()
    Dim pic As InlineShape
    Dim shp As Shape
    Dim fileName As String
    Dim altText As String

    For Each pic In ActiveDocument.InlineShapes
    If pic.Type = wdInlineShapePicture Then
    If pic.LinkFormat Is Nothing Then
    ' Picture is embedded, not linked — skip
    Else
    fileName = pic.LinkFormat.SourceFullName
    altText = Mid(fileName, InStrRev(fileName, "\") + 1)
    pic.AlternativeText = altText
    End If
    End If
    Next pic

    For Each shp In ActiveDocument.Shapes
    If shp.Type = msoPicture Then
    If shp.LinkFormat Is Nothing Then
    ' Picture is embedded, not linked — skip
    Else
    fileName = shp.LinkFormat.SourceFullName
    altText = Mid(fileName, InStrRev(fileName, "\") + 1)
    shp.AlternativeText = altText
    End If
    End If
    Next shp
    End Sub

  3. Cierre el editor de VBA y guarde la plantilla
    Presione Ctrl+S para guardar la plantilla Normal.dotm. Cierre la ventana del editor de VBA. Word solicita confirmación para guardar los cambios en Normal.dotm. Haga clic en Guardar.
  4. Ejecute la macro por primera vez
    Abra un documento que contenga imágenes con nombres de archivo. Presione Alt+F8 para abrir el cuadro de diálogo Macros. Seleccione SetAltTextFromFilename de la lista y haga clic en Ejecutar. Word procesa cada imagen y establece el texto alternativo con el nombre de archivo. Verifique el texto alternativo haciendo clic con el botón derecho en una imagen y eligiendo Ver texto alternativo.
  5. Asigne la macro a un botón o atajo de teclado para un acceso rápido
    Vaya a Archivo > Opciones > Barra de herramientas de acceso rápido. En la lista desplegable Elegir comandos de, seleccione Macros. Seleccione SetAltTextFromFilename y haga clic en Agregar. Haga clic en Modificar, elija un icono de botón y cámbiele el nombre a algo como “Texto alternativo desde nombre”. Haga clic en Aceptar dos veces. Ahora puede ejecutar la macro con un solo clic desde la Barra de herramientas de acceso rápido.

Hacer que la macro se ejecute automáticamente al abrir el documento

Para aplicar el texto alternativo del nombre de archivo a cada nueva imagen que inserte, puede adjuntar la macro al evento Document_Open. En el editor de VBA, en la ventana de código ThisDocument, pegue el siguiente código encima de la macro existente:

Private Sub Document_Open()
Call SetAltTextFromFilename
End Sub

Guarde la plantilla. Ahora, cada vez que abra cualquier documento, la macro se ejecuta y actualiza el texto alternativo de todas las imágenes. Tenga en cuenta que esto también se ejecuta en documentos que no contienen imágenes, lo cual es inofensivo pero agrega un ligero retraso.

ADVERTISEMENT

Limitaciones y cosas que debe evitar al usar el nombre de archivo como texto alternativo

Imágenes pegadas desde el portapapeles o captura de pantalla

Las imágenes que se pegan directamente desde el portapapeles o se insertan como captura de pantalla no tienen una ruta de archivo de origen. La propiedad LinkFormat.SourceFullName está vacía para estas imágenes. La macro las omite, dejando su texto alternativo sin cambios. Para establecer el texto alternativo de estas imágenes, debe escribir manualmente una descripción en el panel Texto alternativo.

Imágenes incrustadas sin vínculo

Cuando inserta una imagen usando Insertar > Imágenes > Este dispositivo, Word incrusta el archivo de imagen en el documento. La macro busca un objeto LinkFormat. Si la imagen está incrustada, LinkFormat se establece en Nothing y la macro omite la imagen. Esta es una limitación conocida del modelo de objetos de VBA. Para solucionarlo, inserte las imágenes como archivos vinculados: use Insertar > Imágenes > Vincular a archivo en lugar de incrustar. Las imágenes vinculadas conservan la ruta del archivo de origen.

Advertencias de seguridad de macros

Word puede mostrar una barra de advertencia de seguridad indicando que las macros se han deshabilitado. Haga clic en Habilitar contenido para permitir que se ejecute la macro. Para evitar este aviso, puede firmar digitalmente la macro con un certificado autofirmado o agregar la ubicación del documento a la lista de Ubicaciones de confianza en Archivo > Opciones > Centro de confianza > Configuración del Centro de confianza > Ubicaciones de confianza.

El texto alternativo sobrescribe las descripciones existentes

La macro reemplaza cualquier texto alternativo existente con el nombre de archivo. Si ya ha escrito texto alternativo significativo para algunas imágenes, la macro lo sobrescribirá. Ejecute la macro solo en documentos donde desee que el nombre de archivo sea el texto alternativo. Como alternativa, modifique la macro para comprobar si el texto alternativo está vacío antes de escribir el nombre de archivo.

Elemento Imagen incrustada Imagen vinculada
Ruta del archivo de origen conservada No Sí
La macro establece el texto alternativo desde el nombre de archivo No (omitida) Sí
Tamaño del archivo en el documento Grande (imagen incrustada) Pequeño (solo ruta)
La imagen se mueve si se elimina o cambia el nombre del archivo de origen No Sí (vínculo roto)

Ahora puede configurar Word para que establezca automáticamente el texto alternativo de las imágenes insertadas con su nombre de archivo original mediante una macro de VBA. Pruebe la macro primero en un documento de ejemplo. Para una solución más refinada, modifique la macro para quitar la extensión del archivo o agregar un prefijo. Almacene la macro en Normal.dotm para que esté disponible en todos los documentos que cree.

ADVERTISEMENT