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.