Cómo crear una lista de estilos en Microsoft Word - Tutorial paso a paso

Los estilos son una parte importante para trabajar de manera eficiente en Microsoft Word. Si trabajas con archivos o plantillas que contienen muchos estilos personalizados, te gustaría tener una lista de ellos, pero no hay una función incorporada en Word que muestre una lista de todos los estilos. En este tutorial de Word, te mostraré cómo crear un procedimiento VBA que inserta el nombre de todos los estilos, ya sean personalizados, incorporados o ambos, en el documento actual. Puedes imprimir el documento para fines de documentación o de referencia.

Estoy usando Microsoft 365 en Windows, pero puedes usar versiones anteriores. Para tu comodidad, puedes descargar los archivos de demostración .docm y .doc. Word para la web no admite procedimientos VBA.

Índice de Contenido
  1. Lo que necesitas saber sobre el procedimiento VBA en Word
  2. Cómo ingresar el procedimiento VBA en Word
  3. Cómo ejecutar el procedimiento VBA en Word

Lo que necesitas saber sobre el procedimiento VBA en Word

El siguiente procedimiento VBA, también conocido como macro, hace muchas cosas. Primero, el procedimiento le pide al usuario que elija entre una lista de estilos incorporados, estilos personalizados o todos los estilos. Después de que el usuario responde, el procedimiento abre un nuevo documento y genera una lista de los estilos apropiados. Finalmente, el procedimiento muestra la cantidad de estilos generados. El procedimiento no guarda este documento de Word. No parece mucho considerando la cantidad de líneas en el procedimiento.


Sub ListStyles()
    'Genera una lista de estilos personalizados (1), incorporados (2) o todos los estilos de Word (3)
    
    Dim doc As Document
    Dim sty As Style
    Dim inp As Integer
    Dim i As Integer
    
    i = 0
    
    'Solicita valor de entrada al usuario.
    On Error GoTo errHandler: 'Captura Cancelar o X.
    inp = InputBox("Ingrese uno de los siguientes valores: 1, 2 o 3." _
                & vbLf & vbLf & _
                "1. Estilos personalizados" & vbLf & _
                "2. Estilos incorporados" & vbLf & _
                "3. Todos los estilos", _
                "Imprimir una lista de estilos", 1)
    
    'Comprueba el valor de entrada no válido.
    If inp >= 4 Or inp < 1 Then
        MsgBox "Por favor, ingrese un valor de entrada válido: 1, 2 o 3.", vbOKOnly, "Error de entrada"
        Exit Sub
    End If
    
    On Error GoTo errHandler
    
    Set doc = Documents.Add
    
    'Recorre los estilos en el documento activo.
    With doc
        For Each sty In .Styles
            If inp = 1 And sty.BuiltIn = False Then
                .Range.InsertAfter sty.NameLocal & vbCr
                i = i + 1
            ElseIf inp = 2 And sty.BuiltIn = True Then
                .Range.InsertAfter sty.NameLocal & vbCr
                i = i + 1
            ElseIf inp = 3 Then
                .Range.InsertAfter sty.NameLocal & vbCr
                i = i + 1
                'No hay Else porque el código anterior captura cualquier valor que no sea 1, 2 o 3.
            End If
        Next sty
    End With
    
    MsgBox i & " estilos encontrados.", vbOKOnly
    
    Set doc = Nothing
    
    Exit Sub
    
errHandler:
    If Err.Number = 13 Then Exit Sub
    MsgBox Err.Number & " " & Err.Description
    
    Set doc = Nothing
End Sub

Aproximadamente la mitad del código verifica los errores de entrada. Después de declarar algunas variables, el código muestra una caja de entrada que solicita al usuario que ingrese uno de los tres valores:

  • Estilos personalizados
  • Estilos incorporados
  • Todos los estilos

La primera instrucción On Error captura el error que se produce si el usuario hace clic en Cancelar o X. En este caso, el bloque errHandler sale del procedimiento:

If Err.Number = 13 Then Exit Sub

Al hacer clic en Cancelar o X, el código asume que el usuario no quiere ejecutar el procedimiento después de todo, por lo que el código no muestra un mensaje explicativo.

Cómo editar el menú contextual del clic derecho en Windows 10 File Explorer

Si el usuario responde a la caja de mensaje ingresando un valor, el procedimiento almacena ese valor de entrada en una variable de tipo entero llamada inp. Si inp no es igual a 1, 2 o 3, el código muestra un mensaje solicitando que el usuario ingrese uno de los valores especificados (1, 2 o 3) y luego el procedimiento se detiene.

Cuando inp es igual a 1, 2 o 3, se ejecuta un bloque For Each que realiza más comprobaciones utilizando instrucciones If:

  • Si inp es igual a 1, significa que el usuario quiere imprimir una lista de estilos personalizados. Cuando la siguiente comprobación, sty.BuiltIn = False, es verdadera, sty es un estilo personalizado, por lo que la instrucción agrega el nombre del estilo a la lista y agrega 1 al contador i.
  • Si inp es igual a 2, significa que el usuario quiere imprimir una lista de estilos incorporados. Cuando la comprobación sty.BuiltIn = True es verdadera, sty es un estilo incorporado, por lo que la instrucción agrega el estilo a la lista y agrega 1 al contador i.
  • Si inp es igual a 3, significa que el usuario quiere imprimir una lista de todos los estilos, por lo que no hay ninguna comprobación; el código agrega el estilo a la lista y agrega 1 al contador i.

El bloque For Each termina cuando el procedimiento ha recorrido todos los estilos en el documento activo. Las últimas instrucciones muestran un mensaje con la cantidad de estilos listados, luego destruyen el objeto doc y salen del procedimiento Sub. El control de errores muestra el número y la descripción de cualquier error. La mayor parte del código se utiliza para capturar valores de entrada no válidos, por eso hay tanto código para ello.

Ahora que has visto el procedimiento, es hora de ingresar el mismo en un documento de Word.

Cómo ingresar el procedimiento VBA en Word

Probablemente quieras ejecutar este procedimiento en muchos documentos y no solo en uno. En ese caso, considera crear un archivo de plantilla (.dotm). Otra alternativa es agregar el procedimiento al archivo Personal.xlsb, que permite acceder al mismo desde cualquier archivo de libro de trabajo abierto. El archivo de demostración es un archivo habilitado para macros, .docm, porque es el más fácil de usar para nuestros propósitos.

Si estás utilizando una versión con cinta de opciones, asegúrate de guardar el libro de trabajo como un archivo habilitado para macros. Si estás trabajando en una versión con menús, puedes omitir este paso. Si estás trabajando por tu cuenta y no estás utilizando el archivo de demostración descargable, agrega un estilo personalizado a tu archivo para poder ver cómo funcionan las tres opciones.

Cómo crear y usar perfiles diferentes en Google Chrome

Para ingresar el procedimiento, presiona Alt + F11 para abrir el Editor de Visual Basic. En el Explorador de proyectos a la izquierda, selecciona ThisDocument. Si tienes más de un archivo de Word abierto, asegúrate de seleccionar el correcto. Puedes ingresar el código manualmente o importar el archivo .cls descargable. Además, el procedimiento se encuentra en el archivo descargable .docm. Si ingresas el código manualmente, no pegues directamente desde esta página web. En su lugar, copia el código en un editor de texto y luego pega ese código en ThisDocument. Esto eliminará cualquier carácter web fantasma que pueda causar errores.

Guarda el archivo y vuelve al documento de Word. Estás listo para ejecutar el procedimiento VBA y ver cómo funciona.

Cómo ejecutar el procedimiento VBA en Word

Ahora viene la parte fácil: ejecutar el procedimiento. Para hacerlo, haz clic en la pestaña Desarrollador y luego en Macro en el grupo Macros. En el cuadro de diálogo resultante, elige ListStyles (Figura A) y haz clic en Ejecutar.

Figura A

La caja de mensaje muestra por defecto la primera opción, 1. Estilos personalizados (Figura B). Haz clic en OK sin cambiar ese valor de entrada.

Figura B

¡Aprovecha al máximo Google Workspace Essentials Starter sin gastar un centavo!

Cómo crear una lista de estilos en Microsoft Word - Tutorial paso a paso - Software | Imagen 1 Newsmatic

Como se puede ver en Figura C, el archivo de demostración tiene un estilo personalizado: MiEstiloPersonalizado. Asegúrate de guardar este archivo manualmente si deseas conservarlo para fines de documentación.

Figura C

Ejecuta el procedimiento nuevamente y elige 2 para los estilos incorporados. Figura D muestra más de 300 resultados. Si no ves ListStyles, es posible que estés en el nuevo documento creado durante la primera ejecución. Asegúrate de volver a tu archivo habilitado para macros.

Figura D

Continúa ejecutando el procedimiento VBA para ver cómo funciona con otros valores de entrada: ingresa 3, haz clic en Cancelar, ingresa 0 y 4, y así sucesivamente.

Cómo crear accesos directos de apagado en Windows 11

No quieres tener que seguir todos esos pasos para ejecutar esta macro cada vez que la necesites. Recomiendo que la agregues a la Barra de herramientas de acceso rápido o a un grupo personalizado. Si necesitas ayuda con eso, lee mi artículo en Newsmatic sobre cómo agregar macros de Office a la barra de herramientas de acceso rápido para acceder de forma rápida.

Si no sabes cómo ingresar este procedimiento en Personal.xlsb para que esté disponible en todos los libros de trabajo, lee mi artículo en Newsmatic sobre cómo crear un procedimiento VBA que cierre todos los libros de trabajo abiertos en Excel, que incluye instrucciones de uso para Personal.xlsb.

¿Estás interesado en aprender más sobre VBA en Excel? Consulta estos recursos en Newsmatic Academy:

  • Paquete de Microsoft VBA
  • Paquete completo de Microsoft Excel y VBA
  • Domina las macros de Microsoft Excel y Excel VBA
  • Paquete de capacitación completo en Excel, VBA y ciencia de datos

En Newsmatic nos especializamos en tecnología de vanguardia, contamos con los artículos mas novedosos sobre Software, allí encontraras muchos artículos similares a Cómo crear una lista de estilos en Microsoft Word - Tutorial paso a paso , tenemos lo ultimo en tecnología 2023.

Artículos Relacionados

Subir

Utilizamos cookies para mejorar su experiencia de navegación, mostrarle anuncios o contenidos personalizados y analizar nuestro tráfico. Al hacer clic en “Aceptar todo” usted da su consentimiento a nuestro uso de las cookies.