Eliminar estilos sobrantes en MSWord
En algunas ocasiones recibo un documento DOCX creado con Libreoffice. En general no hay ningún problema, pero a veces el documento tiene demasiados estilos creados automáticamente en la conversión. Esto es un inconveniente puesto que las funcionalidades que se consiguen a través del panel de estilos (como seleccionar todos los párrafos con un estilo, o actualizar un estilo para que coincidan con la selección) se vuelven más difíciles de utilizar ante la enorme lista de estilos que se muestra.
El problema surge cuando MSWord es incapaz de mostrar todas las entradas en su panel de estilos. En ese caso, es necesario borrar todos esos estilos.
Borrar cientos de estilos puede ser realmente tedioso, pero al ser todos generados con nombres similares puede automatizarse la tarea con una macro de VBA
Sub DeleteListLabelStyles()
Dim style As style
Dim name As String
Dim prefix As String
For Each style In ActiveDocument.Styles
name = style.NameLocal
prefix = Left(name, Len("ListLabel"))
If prefix = "ListLabel" Then
Debug.Print ("Borrando" & style.NameLocal)
style.Delete
End If
Next style
End Sub
Antes de esta entrada
Hay soluciones parecidas para borrar todos los estilos sin usar. El problema es que los estilos sí que se usan, pero solo una vez en una parte pequeña del documento, como por ejemplo un estilo por ítem de lista.
Los modelos enormes de lenguaje opinaban esto.